求c语言里插入排序法的程序

voidmain(){intn[10];inti,j,s,k;inttemp;for(i=0;i<=9;i++){printf("请输入第%d个数:",i+1);scan... void main()
{
int n[10];
int i,j,s,k;
int temp;
for(i=0;i<=9;i++)
{
printf("请输入第%d个数:",i+1);
scanf("%d",&n[i]);
}

printf("数组排序前效果如下\n");
for(i=0;i<=9;i++)
{
printf("%d ",n[i]);
}
printf("\n");

for(i=1;i<=9;i++)
{
for(j=i-1;j>=0;j--)
{
if(n[j]<n[i])
{
s=j;
break;
}

}
temp=n[i];
for(k=i;k>=s+2;k--)
n[k]=n[k-1];

n[s+1]=temp;

}
printf("数组排序后效果如下\n");
for(i=0;i<=9;i++)
{
printf("%d ",n[i]);
}
printf("\n");

}
排序有点错,不知那里错了!
展开
 我来答
liujiahi
推荐于2016-02-23 · TA获得超过1001个赞
知道小有建树答主
回答量:621
采纳率:66%
帮助的人:421万
展开全部
#include <stdio.h>
int main ()
{
int n[10];
int i, j, k;
int temp;

for (i = 0; i <= 9; i++)
{
printf ("请输入第%d个数:", i + 1);
scanf ("%d", &n[i]);
}
printf ("数组排序前效果如下\n");
for (i = 0; i <= 9; i++)
{
printf ("%d ", n[i]);
}
printf ("\n");

for (i = 1; i <= 9; i++)
{
for (j = i - 1; j >= 0; j--)
{
if (n[j] < n[i])
break;
}
if (j != i - 1)
{
temp = n[i];
for (k = i; k >= j + 1; k--)
n[k] = n[k - 1];
n[j + 1] = temp;
}
}
printf ("数组排序后效果如下\n");
for (i = 0; i <= 9; i++)
{
printf ("%d ", n[i]);
}
printf ("\n");
return 0;
}
lexin_lyl
2011-10-13 · TA获得超过714个赞
知道小有建树答主
回答量:456
采纳率:0%
帮助的人:469万
展开全部
你的排序一塌糊涂,s没赋值就是用,还有就是逻辑很乱
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式