任意10个整数排序为什么总是这种情况?是代码错了还是怎样?求大佬帮忙

#include<stdio.h>

int main()

{

int max,j,k; //  分别为最大值 循环总次数 子循环次数,输出循环

int arr[10];

//定义一个十位数的预存空间

int i;

//定义循环常数输入十个

for(i=0;i<=9;i++)

{

scanf("%d",&arr[i]);   //存入10个数

}

for(j=0;j<9;j++)

{

for(k=0;k<(9-j);k++)

{

if(arr[j]<=arr[j+1])

{

max=arr[j];

    arr[j]=arr[j+1];

arr[j+1]=max;

}

}

}

    for(j=0;j<=9;j++)

{

printf("%d",arr[j]);

printf("\n");

}

return 0;

}

https://img.mukewang.com/5c8122f100011c8b08220533.jpg


你存在我婶婶的脑海里
浏览 835回答 1
1回答

慕粉4322478

我测试通过空格分割,可以接收数据还有排序应该有问题for ( j = 0; j < 9; j++ ) { for ( k = 0; k < (9 - j); k++ ) { if ( arr[k] <= arr[k + 1] ) { max = arr[k]; arr[k] = arr[k + 1]; arr[k + 1] = max; } } }
打开App,查看更多内容
随时随地看视频慕课网APP