通过二维数组统计5个学生语文、数学、英语的成绩,首先输入学生人数,然后依次输入各个学生的成绩,最后统计每个学生的课程平均成绩,及每门课的平均成绩,并列表输出。
5条回答 默认 最新
- CSDN专家-赖老师(软件之家) 2021-04-06 16:01关注
参考代码:
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
/*
1、一个班有5个学生,每个学生有3门课的成绩,定义一个二维数组来存储学生的成绩,并初始化以下数据:
学号(整数) 语文 数学 英语 总分
100 80 85 90
101 75 90 80
102 60 50 70
1)依次输入五个学生的学号及各科成绩,自动计算总分并存储,然后输出。
2)输出每个学生的学号及总分
3)输出分数最高的学生的学号、总分
*/
int a[5][5];
int i,j;
int sum=0,max=0,num=0;
for(i=0;i<5;i++)
{
printf("请输入第%d个学生的学号,语文,数学,英语成绩:",i+1);
sum=0;
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
if(j>0)
sum+= a[i][j];
}
//保存总分
a[i][4]=sum;
}
//1)依次输入五个学生的学号及各科成绩,自动计算总分并存储,然后输出。
printf("学号\t语文\t数学\t英语\t总分\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
// 2)输出每个学生的学号及总分
printf("学号\t总分\n");
//初始化
num=a[0][0];
sum=a[0][4];
for(i=0;i<5;i++)
{
//求总分最高的学生
if(sum<a[i][4])
{
num=a[i][0];
sum=a[i][4];
}
printf("%d\t%d\n",a[i][0],a[i][4]);
}
// 3)输出分数最高的学生的学号、总分
printf("学号=%d的学生成绩分数最高,成绩=%d\n",num,sum);
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用 1
悬赏问题
- ¥30 Matlab打开默认名称带有/的光谱数据
- ¥50 easyExcel模板 动态单元格合并列
- ¥15 res.rows如何取值使用
- ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
- ¥15 CSP算法实现EEG特征提取,哪一步错了?
- ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
- ¥15 vue3前端取消收藏的不会引用collectId
- ¥15 delphi7 HMAC_SHA256方式加密
- ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
- ¥15 下列c语言代码为何输出了多余的空格