求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");
}
排序有点错,不知那里错了! 展开
{
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");
}
排序有点错,不知那里错了! 展开
2个回答
展开全部
#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;
}
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询