c语言 五个数排列大小 哪错了?

学习 时间:2026-03-30 15:56:02 阅读:8009
c语言 五个数排列大小 哪错了?#include "stdio.h" //五个数排列大小main(){int t=0,i,max,a[5];for(i=0;i

最佳回答

狂野的摩托

生动的红牛

2026-03-30 15:56:02

你这实在是一个很烂的排序。就算你不知道任何排序算法,但你至少应该知道:如果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; } }

最新回答共有2条回答

  • 感动的未来
    回复
    2026-03-30 15:56:02

    你这实在是一个很烂的排序。就算你不知道任何排序算法,但你至少应该知道:如果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; } }

上一篇 (赏金特高)写人作文一篇,600字以上,不要写父母、老师,

下一篇 请问是把本体比喻喻体还是把喻体比喻本体呢?