从键盘输入n 个(0<n≤9)有序整数,再输入一个整数 x 并把 x 插人到这组数据中 使该 组数据仍然有序。例如:先输入5 再输入5个有序整数为2 3 6 7 9后 最后输入要插入的4(即x的值) 则输出应为:2 3 4 6 7 9, 以下源程序有错误,请改正后使结果正确。
以下源程序有错误,请改正后使结果正确。
把源程序发一下啊
你题目的解答代码如下:
#include<stdio.h>
int main()
{
int i,n,x;
scanf("%d", &n);
int a[n+1];
for( i=0; i<n; i++ )
scanf("%d", &a[i]);
scanf("%d", &x);
for( i=n-1; i>=0; i-- )
{
if (a[i]<x)
break;
a[i+1] = a[i];
}
a[i+1] = x;
for( i=0; i<n+1; i++ )
printf("%d ", a[i]);
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
参考:
#include "stdio.h"
int main()
{
int a[6] = {1,3,5,7,9};
int i,n,pos=-1;
scanf("%d",&n);
for(i=0;i<5;i++){
if(n==a[i]){
printf("数据已经存在\n");
return 0;
}
if(n<a[i]){
pos = i;
break;
}
}
if(pos==-1)
pos = 5;
for(i=5;i>pos;i--){
a[i]=a[i-1];
}
a[pos] = n;
for(i=0;i<6;i++)
printf("%d\t",a[i]);
return 0;
}