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])
break;
}
for(i=0;i<=5;i++)
{printf("%d ",a[i]);
}
return 0;
}
答
我也是新手,愿意互相帮助,也希望采纳,
#include <stdio.h>
int main()
{
int a[5]={2,4,6,8};
int i,k,temp;
printf("请输入一个数:");
scanf("%d",&a[4]);//直接将输入数据插入到最后
for(k=0;k<=3;k++)
{ if(a[4]<a[k])
break;
}//采用循环检测出应该插入的位置
for(i=4;i>=k;i--)
{
if(a[i]<a[i-1])
{
temp= a[i];
a[i] = a[i-1];
a[i-1] = temp;
}
}
//遍历打印
for(i=0;i<5;i++)
{
printf("%d ",a[i]);
}
return 0;
}
希望采纳,谢谢!
答
直接将后续的数据往后移动即可,如果还不理解,采纳后详细回答你,因为你的信用是空白。