请问C语言的数组编程问题?

题目描述某竞赛小组有5名选手,每名选手的数据包括编号(编号为1至100之间的整数且各不相同)、姓名(中文姓名)、3个竞赛题目的成绩(成绩为1至100之间的整数)。从键盘输... 题目描述
某竞赛小组有5名选手,每名选手的数据包括编号(编号为1至100之间的整数且各不相同)、姓名(中文姓名)、3个竞赛题目的成绩(成绩为1至100之间的整数)。
从键盘输入5名选手的编号、姓名以及3个竞赛题目的成绩,然后打印出平均分最低的选手信息作为淘汰选手公告。
要求如下:
1.程序中必须包含数组"int no[N"声明,no数组用来保存编号;
2.程序中必须包含数组"char name[N][50]"声明,name数组用来保存姓名;
3.程序中必须包含数组"int score[N][4]"声明,score数组用来存储每个选手3个竞赛题目的成绩和均分。

-输入描述
1 2345 //5个选手的编号
刘德华张学友郭富城刘嘉玲梁朝伟//5个选手的姓名
61 62 63 //编号为1选手的三个成绩
64 6571 //编号为2选手的三个成绩
72 7374 //编号为3选手的三个成绩
7581 82 //编号为4选手的三个成绩
83 8412 //编号为5选手的三个成绩

-输出描述
被淘汰的选手信息为:最低分为:79编号为:4姓名为:刘嘉玲
-提示
展开
 我来答
xgn911
2022-11-19 · TA获得超过1363个赞
知道小有建树答主
回答量:1493
采纳率:96%
帮助的人:642万
展开全部

C语言代码和运行结果如下:

根据提供的输入数据,4号选手刘嘉玲的平均分79明显是最高的,不应被淘汰

最低分应为5号选手梁朝伟的59分,所以图中输出与示例不一致

但结果应该没错,确实输出了最低分选手的相关信息,望采纳~

附源码:

#include <stdio.h>

#define N 5

int main() {

int no[N], score[N][4], i, j, sum, k = 0;

char name[N][50];

for (i = 0; i < N; i++) 

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

for (i = 0; i < N; i++) 

scanf("%s", name[i]);

for (i = 0; i < N; i++) {

sum = 0; // 记录每名选手总成绩并求平均分

for (j = 0; j < 3; j++) {

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

sum += score[i][j];

}

score[i][3] = sum / 3;

if (score[i][3] < score[k][3])

k = i; // 记录平均分最低的选手下标

}

printf("被淘汰的选手信息为:\n最低分为:%d 编号为:%d 姓名为:%s\n", score[k][3], no[k], name[k]);

return 0;

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式