存入的数据里面没有41,但是输出的数组按小到大排总是有一个41,这是为什么,不知道这个程序错在哪里了
内层循环条件错了,当i=9时,a[i+1]就越界了
for循环中,改为i<9-j
#include<stdio.h>
int main()
{
int a[10],i,j,t;
printf("请输入10个数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
试试这个