请问这个c语言我错在哪?应该怎么改?

我输出的结果错误
2025-01-04 14:23:19
推荐回答(2个)
回答1:

起泡法在比较时两个数交换时用一个变量,选择法用两个变量交换内容,两者都用二重循环
#include
main()
{int a[8] = { 1,25,44,74,55,89,84,44 };
int i,j,temp;
for(i=0;i<7;i++)
for(j=i+1;j<8;j++)
if(a[i]{temp=a[i];a[i]=a[j];a[j]=temp;}
for(i=0;i<8;i++)
printf("%d ", a[i]);
}
给个例子
#include
main()
{int a[8] = { 1,25,44,74,55,89,84,44 };
int i,j,min,temp;
for (i=0;i<7;i++)
{
min=i;
for (j=i+1;j<8;j++)
if (a[min]>a[j])
min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
for(i=0;i<8;i++)
printf("%d ", a[i]);
}

回答2:

第2张图片第1行:for(j=0;j在a[j+1]=temp;后面,大括号}前面增加一行j-=2;
作此两处修改即可。