c语言 五个数排列大小 哪错了?#include "stdio.h" //五个数排列大小main(){int t=0,i,max,a[5];for(i=0;i

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 13:44:04
c语言 五个数排列大小 哪错了?#include

c语言 五个数排列大小 哪错了?#include "stdio.h" //五个数排列大小main(){int t=0,i,max,a[5];for(i=0;i
c语言 五个数排列大小 哪错了?
#include "stdio.h" //五个数排列大小
main()
{
int t=0,i,max,a[5];
for(i=0;i

c语言 五个数排列大小 哪错了?#include "stdio.h" //五个数排列大小main(){int t=0,i,max,a[5];for(i=0;i
你这实在是一个很烂的排序.就算你不知道任何排序算法,但你至少应该知道:如果if语句不加花括号,即使条件为true,也只执行紧接着if语句的那一句.所以,以后无论if语句的执行语句有几句,作为良好的代码规范,请都加上花括号.
你的代码里,a[i]=t;一句始终是执行的,也就是说,假如a[4]已经是最大的数,第一次判断结束,a[4]就已经变成0(t为0)了.下面的这一句基本都是这样错的.
其实你的所有代码实现过程很像冒泡排序了,你再综合一下,用两个循环嵌套,就能实现冒泡排序了.
还有,你真该庆幸,出这题的家伙只要求你拍五个数而不是五十个!
for(i=0;ia[4])
{
t=a[4];
a[4]=a[i];
a[i]=t;
}
}