题目:输入班级十名学生的数据结构成绩,求出这十名学生成绩的平均分,最高分,最低分;此外,将这十名学生成绩按降序排序好。
(用C语言或C++实现)
学生成绩的平均分,最高分,最低分。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- a5156520 2024-09-07 19:57关注
可以循环获取成绩,然后在循环中计算最高分,最低分, 累加总分,循环结束再计算平均分,并排序数组,最后再打印结果即可。
代码如下:
参考链接:c语言中四种简单的数组排序_c语言数组排序-CSDN博客 文章浏览阅读2.6w次,点赞56次,收藏402次。c语言中四种数组排序方式_c语言数组排序 https://blog.csdn.net/wsbydmm/article/details/127854726#include <stdio.h> int main(void){ int scores[10],max,min,temp,i,j; double avg; for(i=0;i<10;i++){ // 循环10次,以从输入获取10个成绩到数组scores中,并计算最高分,最低分,以及累加总分 scanf("%d",&scores[i]); if(i==0){ max=scores[i]; min=scores[i]; }else{ if(max<scores[i]){ max=scores[i]; } if(min>scores[i]){ min=scores[i]; } } avg+=scores[i]; // 先将当前分数累加到变量avg中 } avg/=10; // 计算平均分 // https://blog.csdn.net/wsbydmm/article/details/127854726 // 使用冒泡排序,从高到低排序数组scores for(i=0;i<9;i++){ for(j=0;j<9-i;j++){ if(scores[j]<scores[j+1]){ temp=scores[j]; scores[j]=scores[j+1]; scores[j+1]=temp; } } } // 打印结果 printf("\n最高分:%d, 最低分:%d, 平均分:%.2f\n",max,min,avg); printf("\n成绩从高到低排序后为:\n"); for(i=0;i<10;i++){ printf("%d ",scores[i]); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 无源定位系统的时差估计误差标准差
- ¥15 请问这个代码哪里有问题啊
- ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
- ¥15 通过GaussianView进行结构微调消除虚频
- ¥15 调用transformers库
- ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
- ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
- ¥15 openpcdet自制数据集评估bev精度和3d精度相同
- ¥15 excel 上下按钮 显示行
- ¥20 云卓h12pro 数传问题