C语言:输入4名学生3门课程的成绩,并分别用函数求出每门课程的平均分数与所有成绩中最高的分数所对应的学生与课程

阅读: 评论:0

C语言:输入4名学生3门课程的成绩,并分别用函数求出每门课程的平均分数与所有成绩中最高的分数所对应的学生与课程

C语言:输入4名学生3门课程的成绩,并分别用函数求出每门课程的平均分数与所有成绩中最高的分数所对应的学生与课程

题目来源:大工慕课 链接
作者:Caleb Sung

题目要求

输入4名学生3门课程的成绩,并分别用函数求出:

  1. 每门课程的平均分数
  2. 所有成绩中最高的分数所对应的学生与课程

参考代码

这个程序手输成绩数据一定很蛋疼,本着能懒就懒的原则,这里的成绩是由程序自动生成的,大家也可以自行修改。

头文件

用到了标准I/O,另外需要生成随机数,故:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

randScore()

这个函数用于随机生成成绩,我默认所有成绩都是及格的(希望大家也能门门过关哈hhh):

int randScore(int score[4][3]){int i, j;srand(time(NULL));for(j=0; j<3; j++)for(i=0; i<4; i++)score[i][j] = rand()%40+60;return score[4][3];
}

printScore()

这个函数用于规规矩矩地打印成绩,最后的printf("n")完全是为了打印出的文本比较美观,之后的函数均同理:

void printScore(int score[4][3]){int i, j;for(i=0; i<4; i++){printf("学生%d的三门成绩分别为:t", i+1);for(j=0; j<3; j++){printf("%dt", score[i][j]);if(j==2)printf("n");}}printf("n");
}

aver()

这个函数用于解决第一问,即计算每个科目的平均成绩并打印出来:

void aver(int score[4][3]){int i, j, aver[3] = {0};for(j=0; j<3; j++){for(i=0; i<4; i++)aver[j] += score[i][j];}for(j=0; j<3; j++)printf("第%d门课程的平均成绩是%.3f。n", j+1, aver[j]/4.0);printf("n");
}

findMax()

这个函数用于解决第二问,即所有成绩中最高的分数所对应的学生与课程并打印出来:

void findMax(int score[4][3]){int i, j, max = 0, name, sub;for(j=0; j<3; j++)for(i=0; i<4; i++)if(score[i][j] > max){max = score[i][j];name = i;sub = j;}printf("成绩最高的学生为学生%d,科目为第%d门课程,成绩为%d。", name+1, sub+1, max);
} 

主函数

因为上面写了一堆函数,主函数就可以直接调用他们实现操作了,因而主函数十分简单:

void main(){char student[4];int score[4][3]={0}, i, j;score[4][3] = randScore(score);printScore(score);aver(score);findMax(score);
} 

运行效果

每次跑出来的结果都是不一样的:

学生1的三门成绩分别为: 72      88      76
学生2的三门成绩分别为: 89      76      65
学生3的三门成绩分别为: 73      86      94
学生4的三门成绩分别为: 88      98      76第1门课程的平均成绩是80.500。
第2门课程的平均成绩是87.000。
第3门课程的平均成绩是77.750。成绩最高的学生为学生4,科目为第2门课程,成绩为98。

本文发布于:2024-02-04 08:24:41,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170703036253929.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:课程   求出   分数   成绩   函数
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23