中易网

输入3个学生的成绩并按由小到大的顺序输出 怎样编程

答案:4  悬赏:70  
解决时间 2021-03-21 23:48
输入3个学生的成绩并按由小到大的顺序输出 怎样编程
最佳答案
回答者: x68251
冒泡法排序,写的正确,代码比较优雅。

回答者: flycat0511
试图也用 冒泡法进行排序,可惜 int temp = a[i + 1]; 超出了数组的界限,注意 C语言的数组索引从 0 开始的,最大到达 N-1,int a[3] = {88,71,93}; 只定义了 三个元素,索引从 0 到 2。
而且排序算法有问题,她很可能是位可爱的小女生。
a[j + 1] 里面的数据有可能丢失,被前一个索引数据覆盖 a[j]
算法起不到排序作用。
全部回答
#include <stdio.h> main() { int i,a[3],temp; printf("请输入三个人的成绩:"); for(i=0;i<3;i++) scanf("%d",&a[i]); for(i=0;i<2;i++) { { if(a[i]>a[i+1]) temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } for(i=0;i<3;i++) printf("%-3d",a[i]); } }
先排序就行了。 #include <stdio.h> #define LENGTH 3 void Sort(float a[]) { for(int i=0;i<LENGTH;i++) { for(int j=i;j<LENGTH-1;j++) { if(a[j] > a[j+1]) { float f = a[j]; a[j] = a[j+1]; a[j+1] = f; } } } } int main() { float a[] = {99.0,55.0,77.5}; Sort(a); for(int i=0;i<LENGTH;i++) printf("%.2f\n",a[i]); return 0; }
冒泡法排序: #include <iostream.h> void main() { int a[3] = {88,71,93};/这里设定3个成绩 for(int i = 0;i < 3;i ++) { int temp = a[i + 1]; for(int j = i;j >= 0;j --) { if(temp < a[j + 1]) { a[j + 1] = a[j]; a[j] = temp; } } for(int k = 0;k < 3;k ++) { cout<<a[k]; if(k == i) { cout<<" "; } } cout<<endl; } }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
OPPOr11s和vivoz20对比,哪个参数好?
狂恋乐团LOVEHOLIC的《海市蜃楼》中文歌词
我想把迅雷专用连接改成本地下载,我该怎么做
20岁的女孩是否适合割双眼皮
九华山哪求签好?
京瓷8520套色怎么调整
给高中生的励志话
电信版华为荣耀6p支持4g的卡槽是哪一个卡槽
昌吉市文化东路29号离昌吉市高新技术产业开发
痛风会一直痛吗?
䝞怎么读是什么意思
在室内健身器材跑步机上跑步一次跑多久合适?
孕酮低吃什么补得快
哪些人能领到退休金
拼多多发的是什么快递
推荐资讯
紫轩窗帘地址在什么地方,想过去办事
中国移动(乐云指定专营店)地址在哪,我要去那
怎样可以是NBA2K11生涯模式的命中率达100% 注
淘宝上买纯牛奶安全吗,有些销量蛮高的,评价
求易烊千玺nothing to lose 百度云资源 谢谢
梧州几时整立交?
sbs改性沥青防水卷材有图集吗
诺基亚N95曾经的机皇,现在多少钱入手,1500
请教烫画印工序流程
殊途同归 反义词
詹姆斯3代高腰的黑金版篮球鞋怎么搭配衣服啊
一台开关柜中用多少铜排和线如何计算
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?