您的位置:首页 > 其它

C 实战练习题目39

2020-06-07 16:20 141 查看

精选30+云产品,助力企业轻松上云!>>>

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

程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

实例:

1 #include<stdio.h>
2 int main()
3 {
4     int a[11]={1,4,6,9,13,16,19,28,40,100};
5     int temp1,temp2,number,end,i,j;
6     printf("原始数组是:\n");
7     for(i=0;i<10;i++)
8         printf("%4d",a[i]);
9     printf("\n插入一个新的数字: ");
10     scanf("%d",&number);
11     end=a[9];
12     if(number>end)
13         a[10]=number;
14     else
15     {
16         for(i=0;i<10;i++)
17         {
18             if(a[i]>number)
19             {
20                 temp1=a[i];
21                 a[i]=number;
22                 for(j=i+1;j<11;j++)
23                 {
24                     temp2=a[j];
25                     a[j]=temp1;
26                     temp1=temp2;
27                 }
28                 break;
29             }
30         }
31     }
32     for(i=0;i<11;i++)
33         printf("%4d",a[i]);
34     printf("\n");
35     return 0;
36 }

以上实例输出结果为:

原始数组是:
1   4   6   9  13  16  19  28  40 100
插入一个新的数字: 10
1   4   6   9  10  13  16  19  28  40 100

感谢你的阅读,请用心感悟!希望可以帮到爱学习的你!!分享也是一种快乐!!!请接力。。。

点击查看原文,谢谢!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: