题目:输入10个有序的整数到一个数组中,然后再输入1个整数到该数组中,使它任有序
#define n 11
void main()
{ int a[11];
int i,t,x ,j;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[10]);
printf("input 1 numbers:\n");
scanf("%d",&x);
if(a[i]<a[i+1])
for(i=0;i<10;i++)
{if(x<a[i])
for(j=0;j<10-i;j++)
a[10-j]=a[9-j];a[i]=x;break;
}
printf("the sorted numbers:\n");
for(i=0;i<11;i++)
printf("%d,",a[i]);
printf("\n");
}
我先输入1 2 3 4 5 6 7 8 9 10再输入0 运行的结果是一组随机的数,我知道自己写的为什么错
----------------解决方案--------------------------------------------------------
题目:输入10个有序的整数到一个数组中,然后再输入1个整数到该数组中,使它任有序
#define n 11
void main()
{ int a[11];
int i,t,x ,j;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("input 1 numbers:\n");
scanf("%d",&x);
// if(a[i]<a[i+1])
for(i=0;i<10;i++)
{if(x<a[i])break;
}
for(j=0;j<10-i;j++)
a[10-j]=a[9-j];a[i]=x;
printf("the sorted numbers:\n");
for(i=0;i<11;i++)
printf("%d,",a[i]);
printf("\n");
}
我先输入1 2 3 4 5 6 7 8 9 10再输入0 运行的结果是一组随机的数,我知道自己写的为什么错
----------------解决方案--------------------------------------------------------
if(a[i]<a[i+1]);//肯定有问题呀,没有for(i=1;i<10;i++)是行不通的
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
#define N 10
void main()
{ int a[N+1];
int i,temp ,j;
printf("input 10 numbers:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("input 1 numbers:\n");
scanf("%d",&a[N]);
for(i=0;i<N+1;i++)
for(j=i+1;j<N+1;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
printf("the sorted numbers:\n");
for(i=0;i<N+1;i++)
printf("%d,",a[i]);
printf("\n");
}
N 可以自己赋值~`
----------------解决方案--------------------------------------------------------
这个好像是老谭的一道课后习题啊
----------------解决方案--------------------------------------------------------