你好,我也是C语言初学者,我来试试帮你解答。
我要说的是“插入排序法”,我不会把答案全给你,我把方法全交给你,你自己把他们综合起来。
插入排序:用函数编程实现一个按升序排序的数组中查找x应插入的位置,将x插入数字中,使数组仍按升序排列。
参考答案:
#include
#define N 10
void Insert(int a[],int n,int x);
int main()
{
int a[N+1];
int x,i,n;
scanf(%d",&n);
for(i=0;i
scanf("%d",&a[i];
}
scanf("%d",&x);
Insert(a,n,x);
printf("%d\n",x);
for(i=0;i
printf("%4d",a[i]);
}
printf("\n");
return 0;
}
void Insert(int a[],int n,int x)
{
int i=0,pos;
while(i
{
i++;
}
pos=i;
for(i=n-1;i>=pos;i--)
{
a[i+1]=a[i];
}
a[pos]=x;
}
最好自己做做,然后让别人帮你改,这样有提高的!
一看就知道,嵌套循环有问题。缺少一对大括号
把你代码贴上来
联系方式我发给你