c语言的题目,插入数据,按原顺序输出,不知道错在哪里,帮忙解答一下,谢谢
第10行的if操作完后要退出,在if操作中的最后加上break
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[5]={1,4,6,8,0};
int n,i,j,t,f;
scanf("%d",&n);
for(i=0;i<=4;i++){
if(n<a[i]){
t=a[i];
a[i]=n;
for(j=i+1;j<=4;j++){
f=a[j];
a[j]=t;
t=f;
}
break;
}
}
if(n>=a[3]){
a[4]=n;
}
for(int i=0;i<=4;i++){
printf("%d",a[i]);
}
return 0;
}
数组是递增序列,所以for循环中只能是i<4,不能等于4,因为初始只能是有4个元素,而不是5个
应该就是 tanjunming2020 说的那样了,其实这个是插入排序的一趟。