C语言编程:输入10个有序(由小到大)整数存入数组a,再输入一个整数x,在数组a中插入x,使其仍然有序。

输入10个有序(由小到大)整数存入数组a,再输入一个整数x,在数组a中插入x,使其仍然有序。
要求定义和调用函数inser(int list[ ],int n,intx),在数组list中插入元素x,参数n代表数组list中元素的数量。试编写相应程序。

#include<stdio.h>

#define Pi 3.1415926

int main() 

{

int a[11],i,x;

printf("请输入10个由小到大的整数:\n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

printf("请输入要插入的数:\n");

scanf("%d",&x);

for(i=9;i>=0&&a[i]>x;i--)

a[i+1]=a[i];

a[i+1]=x;

printf("插入后的数组:\n");

for(i=0;i<11;i++)

printf("%d ",a[i]);

printf("\n");

getch();

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-01-29
#include <stdio.h>
#define N 10
void insert(int list[], int n, int x)
{
int i;
for(i = n - 1; (i >= 0) && (x < list[i]); i--)
list[i + 1] = list[i];
list[i + 1] = x;
}
void main( )
{
int i, list[N + 1], x;
printf("从小到大输入10个数:\n");
for(i = 0; i < N; i++)
scanf("%d", &list[i]);
printf("输入要插入的数:\n");
scanf("%d", &x);
insert(list, N, x);
printf("插入的结果为:\n");
for(i = 0; i <= N; i++)
printf("%-4d", list[i]);
}本回答被提问者和网友采纳