在键盘上输入10个元素,利用插入法降序排列,现输入一个数x,要求插入到数组中,插入后仍按原规律排列。

c语言啊,蛋疼。谢谢,大哥大姐。踊跃帮助小妹妹啊。能顺便讲解一下嘛,不要太深奥,正常人能听懂就行。帮忙啊。。

给,已经编译运行确认:

#include "stdio.h"
void sort(int *p)
{
int i,j,k;
for (i=0;i<9;i++)
for (j=i+1;j<10;j++)
if (p[i]<p[j])
{
k=p[i];
p[i]=p[j];
p[j]=k;
}
}

void main()
{
int a[11],i,j,x;

printf("请输入10个数: \n");
for (i=0;i<10;i++)
{
printf("第%d个数: ",i+1);
scanf("%d",&a[i]);
}

sort(a);

printf("排序后的数组: \n");
for (i=0;i<10;i++)
printf("%d ",a[i]);

printf("\n请输入要插入的数x: \n");
scanf("%d",&x);

for(i=0;i<10;i++)
{
if(x>a[i])
{
for(j=10;j>i;j--)
{
a[j]=a[j-1];
}

a[i]=x;
break;
}
}

printf("插入后的数组: \n");
for (i=0;i<11;i++)
printf("%d ",a[i]);
}
温馨提示:答案为网友推荐,仅供参考
相似回答