解题思路:既然输入的数据是排好序的,所以我们可以利用数组将需要插入的数据进行固定位置输入,就实现了插入的效果。(该插入只是视觉上的插入)
注意事项:一定要注意做好标记flag和数据输出位置i的变化。
参考代码:
#include<stdio.h> #include<stdlib.h> int main() { int a[9]; int i; for(i=0;i<9;i++) { scanf("%d",&a[i]); } int temp,flag=1;//此处要做好一个flag标记 scanf("%d",&temp);//temp是要插入的数据 for(i=0;i<9;i++) { if(a[i]<temp||flag==0)//当flag为0的时候也可以输出,若不进行控制则会出现temp数据插完输出停止 { printf("%d\n",a[i]); } else { if(flag)//如果到达temp数据时进行输出 { printf("%d\n",temp); flag=0;//将标记变0防止下次再进行输入temp数据 i--;//因为会进行循环,所以要把控制循环的i后移一位,否则会丢掉temp之后的一个数据 } } } return 0; }
0.0分
0 人评分