|
发表于 2022-4-27 14:42:21
From FishC Mobile
|
显示全部楼层
|阅读模式
30鱼币
#include<stdio.h>
int main()
{
int a[11]={1,4,6,9,13,16,19,28,40,100};
int temp1,temp2,number,end,i,j;
printf("原始数组是:\n");
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n插入一个新的数字: ");
scanf("%d",&number);
end=a[9];
if(number>end)
a[10]=number;
else
{
for(i=0;i<10;i++)
{
if(a[i]>number)
{
temp1=a[i];
a[i]=number;
for(j=i+1;j<11;j++)//从这里
{
temp2=a[j];
a[j]=temp1;
temp1=temp2;//到这里为什么要这样写,求助
}
break;//这里又为啥要用break语句呢
}
}
}
for(i=0;i<11;i++)
printf("%4d",a[i]);
printf("\n");
return 0;
}
- for(j=i+1;j<11;j++)//从这里
- {
- temp2=a[j];
- a[j]=temp1;
- temp1=temp2;//到这里为什么要这样写,求助
- }
复制代码
要把一个数插入数组,当然要把排在它后面的数都后移。
例:数组:1,5,8,9. 插入3,一眼就看出3应该在第二位,但如果只是把第二位改为3,数组不就变成了1,3,8,9.这就不叫插入了。
break是放在if里面的,而if的作用就是找到新的数字该插入的位置,既然找到了位置,上面操作也把数组调整好了,自然没有继续遍历的必要
|
最佳答案
查看完整内容
要把一个数插入数组,当然要把排在它后面的数都后移。
例:数组:1,5,8,9. 插入3,一眼就看出3应该在第二位,但如果只是把第二位改为3,数组不就变成了1,3,8,9.这就不叫插入了。
break是放在if里面的,而if的作用就是找到新的数字该插入的位置,既然找到了位置,上面操作也把数组调整好了,自然没有继续遍历的必要
|