C语言有一个已经排好序的数组,要求输入一个数后,按原来的排序规律将它插入数组中。 我应该怎么改才对?

#include "stdio.h"int main(){int a[5]={2,4,6,8};int x,i=0,j=0;printf("请输入一个数:");scanf("%d",&x);for(i=0;i<=3;i++) {if (x>a[i]) {a[i+1]=a[i+2]; a[i+1]=x;} else {a[i+1]=a[i]; a[i]=x; } } for(i=0;i<=5;i++) {printf("%d ",a[i]); } return 0; }

中间那一段改成:
scanf(…)//这一句及前面的不变
for(i=0;i<4;i++)if(x<a[i])break;
if(i<4)for(j=4;j>=i;j--)a[j+1]=a[j];
a[i]=x;
for(i=0;i<5;i++)
{
printf(…)//这一句及后面的不变
应该就好了。
有什么问题请留言。
温馨提示:答案为网友推荐,仅供参考
相似回答