#include<stdio.h>
main()
{
int i,j,s,k,insert;
int a[11];
printf("输入10个整数\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])
{
s=a[i];
a[i]=a[j];
a[j]=s;
}
}
}
printf("\n升序排列结果\n");
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n\n请输入一个待插入的数k\n");
scanf("%d",&k);
for(i=0;i<10;i++)
if(a[j>k])
for(i=9;i>=insert;i--)
a[i+1]=a[i];
a[insert]=k;
printf("\n\n插入K后的升序排列结果\n");
for(i=0;i<11;i++)
printf("%3d",a[i]);
}
麻烦各位了
if(a[j>k])
,估计是你写错的了,这种用法没有意义#include <stdio.h>
main()
{
int i, j, s, k, insert = 0;
int a[11];
printf("输入10个整数\n");
for (i = 0; i < 10; i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < 9; i++)
{
for (j = i + 1; j < 10; j++)
{
if (a[i] > a[j])
{
s = a[i];
a[i] = a[j];
a[j] = s;
}
}
}
printf("\n升序排列结果\n");
for (i = 0; i < 10; i++)
printf("%3d", a[i]);
printf("\n\n请输入一个待插入的数k\n");
scanf("%d", &k);
for (i = 0; i < 10; i++)
if (a[i] > k)
{
insert = i;
for (j = 0; j <= 10 - i; j++)
a[11 - j] = a[10 - j];
break;
}
a[insert] = k;
printf("\n\n插入K后的升序排列结果\n");
for (i = 0; i < 11; i++)
printf("%3d", a[i]);
}
采纳吧小主,Please!不知道是我的问题吗,我没有看到insert的初始化哎
insert是什么东西,你定义的变量嘛?没有看见他的初始化,