一个关于输出数组排序的问题,

罗马苏丹默罕默德 2018-10-28 03:44:41
#include <stdio.h>
int main()
{
int a[10];
int i = 0,j = 0;
int max, temp;
printf("Please input the numbers");
for(i=0;i<=9;i++)
{

scanf("%d",&a[i]);

}
printf("The array has been input is:\n");
for(i=0;i<=9;i++)
{
printf("%-3d",a[i]);
}
printf("\n");
for(i=0;i<=9;i++)
{
max=0;
for(j=i;j<=9;j++)
{
max=((a[j]>a[max])? j:max);
}
temp=a[max];
a[max]=a[i];
a[i]=temp;
}
printf("The array after sort is:\n");
for(i=0;i<=9;i++)
{
printf("%3d",a[i]);
}
return 0;


}
可以运行,但是总会有一个数不按顺序排列
...全文
185 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-10-29
  • 打赏
  • 举报
回复
“多一少一”问题占程序员常犯错误的10%以上!
避免“多一少一”问题的方法之一是将比如<10甚至<5的数代入程序片断,掰手指头心算验证一下程序到底应该写为
x、x-1、x+1中的哪个?
<、<=、==、>、>=中的哪个?

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧