失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 有一个已经排好序的数组 要求输入一个数后 按原来排序规律将它插入数组中。

有一个已经排好序的数组 要求输入一个数后 按原来排序规律将它插入数组中。

时间:2021-04-18 10:22:06

相关推荐

有一个已经排好序的数组 要求输入一个数后 按原来排序规律将它插入数组中。

代码:

#include <stdio.h>#define N 11int main(){//原数组是升序int a[N]={1,4,6,9,13,16,19,28,40,100};int n,num;printf("原数组的数为:\n");for(n=0;n<N-1;n++)printf("%d ",a[n]);printf("\n");printf("请输入一个数:\n");scanf("%d",&num);for(n=0;n<=N-2;n++){if(a[n]<num&&num<=a[n+1]){// printf("n=%d\n",n);//那么num应该插入到a[n+1]位置处,即a[2]处for(int j=N-1;j>=n+2;j--){a[j]=a[j-1];// printf("a[%d]=%d\n",j,a[j]);}a[n+1]=num;}}printf("\n");//printf("n=%d\n",n);n=10了printf("现数组的数为:\n");for(n=0;n<=N-1;n++){printf("%d ",a[n]);}printf("\n");return 0;}

忽略了如果插入数比末尾数大的情况,改进:

如果觉得《有一个已经排好序的数组 要求输入一个数后 按原来排序规律将它插入数组中。》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。