。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。
如果a数组是有序的了,新建一个比数组a打一个数据的数组b,那么用户输入后,就可以遍历a数组,讲数组a的所有元素与用输入的值进行比较,比他小的首先插入到数组b中,然后插入输入的元素,最后讲剩下的元素都依次插入到数组b中就可以了。
因为不确定数组a的大小,所以最好还是新建一个数组操作,否则怕会数组越界!
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
#include <stdio.h>
int main()
{
int a[6]={1,3,7,9,10};
int len = 5;
int n,i,l=len;
scanf("%d",&n);
while (a[--l]>n)
{
a[l+1] = a[l];
}
a[l+1] = n;
for(i=0;i<len+1;i++)
printf("%d ",a[i]);
return 0;
}
循环数组a,找到比n大的值,插入该位置,该位置之后的元素都后移一个位置即可
#include <stdio.h>
int main(void) {
int i, n, x, a[100];
printf("输入总个数:");
scanf("%d", &n);
printf("输入%d个数,注意要升序:",n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
printf("输入要插入的数:");
scanf("%d", &x);
i=n-1;
while(i>=0&&x<a[i]){
a[i+1]=a[i];
i--;
}
i++;
a[i]=x;
for(i = 0; i < n + 1; i++)
printf("%d ", a[i]);
putchar('\n');
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!