黑马程序员技术交流社区
标题:
成绩管理系统1.0 逐步更新
[打印本页]
作者:
beyoungd
时间:
2015-10-22 21:50
标题:
成绩管理系统1.0 逐步更新
通过键盘输入3名学生4们课程的成绩
要求所有成绩均放入一个4行5列的数组中,输入同一人数据用空格,不同人用回车,其中最后一列和最后一行分别放每个学生的平均成绩 每门课程平均成绩 和总平均成绩
作者:
beyoungd
时间:
2015-10-22 21:52
成绩管理1.0 代码如下:
有诸多不足之处,请大家指点
//成绩管理系统
#include <stdio.h>
int main(){
float a[4][5],sum1=0,sum2;
// int i =0,j=0;
//输入成绩
for (int i = 0; i <3; i++) {
printf("请您按顺序输入4门课程成绩,并用逗号分隔:\n");
scanf("%f,%f,%f,%f",&a[i][0],&a[i][1],&a[i][2],&a[i][3]);
printf("第%d人成绩已经录入完毕!\n",i+1);
}
printf("成绩已经输入完毕!\n");
//计算每个人的平均分
for (int i =0;i <3;i++){
for (int j =0;j<4;j++) {
sum1 +=a[i][j];
}
a[i][4]=sum1/4;
sum1=0;
printf("第%d人的平均成绩为%.2f\n",i+1,a[i][4]);
}
printf("sum1=%.2f\n",sum1);
//计算各个科目的平均成绩
for (int j=0;j <4;j++){
for (int i =0;i<3;i++) {
sum1 +=a[i][j];
a[3][j]=sum1/3;
}
sum1=0;
printf("第%d科的平均成绩为%.2f\n",j+1,a[3][j]);
}
printf("sum1=%.2f\n",sum1);
//计算总成绩
for (int i =0;i < 4;i++){
for (int j = 0; j <=4; j++) {
sum2 +=a[i][j];
}
}
a[3][4]=sum2/3;
//成绩输入完成后,打印出来查看一遍
for (int i =0;i < 4;i++){
for (int j = 0; j <=4; j++) {
printf("第%d人的成绩",i);
printf("%.2f\t",a[i][j]);
}
printf("\n");
}
printf("您输入的成绩如上所示!\n");
return 0;
}
作者:
beyoungd
时间:
2015-10-22 21:54
以后会慢慢完善和修改,请大家多提意见
作者:
在此重拾自我
时间:
2015-10-22 21:58
前排插入,强势围观
作者:
孙明海
时间:
2015-10-22 22:21
先来顶个贴
作者:
beyoungd
时间:
2015-10-22 22:21
运行结果如下:
bogon:~ YHZ$ cc /Users/YHZ/Desktop/随堂练习/分数系统.c
bogon:~ YHZ$ ./a.out
请您按顺序输入4门课程成绩,并用逗号分隔:
115,128,109,252
第1人成绩已经录入完毕!
请您按顺序输入4门课程成绩,并用逗号分隔:
98,135,112,268
第2人成绩已经录入完毕!
请您按顺序输入4门课程成绩,并用逗号分隔:
123,89,121,238
第3人成绩已经录入完毕!
成绩已经输入完毕!
第1人的平均成绩为151.00
第2人的平均成绩为153.25
第3人的平均成绩为142.75
sum1=0.00
第1科的平均成绩为112.00
第2科的平均成绩为117.33
第3科的平均成绩为114.00
第4科的平均成绩为252.67
sum1=0.00
第0人的成绩115.00 第0人的成绩128.00 第0人的成绩109.00 第0人的成绩252.00 第0人的成绩151.00
第1人的成绩98.00 第1人的成绩135.00 第1人的成绩112.00 第1人的成绩268.00 第1人的成绩153.25
第2人的成绩123.00 第2人的成绩89.00 第2人的成绩121.00 第2人的成绩238.00 第2人的成绩142.75
第3人的成绩112.00 第3人的成绩117.33 第3人的成绩114.00 第3人的成绩252.67 第3人的成绩943.67
您输入的成绩如上所示!
bogon:~ YHZ$
作者:
beyoungd
时间:
2015-10-22 22:24
最后的打印和总平均成绩a[3][4]貌似还有点问题,以后有时间修改
作者:
beyoungd
时间:
2015-10-22 22:26
1.0都来了,2.0还会远么?
作者:
beyoungd
时间:
2015-10-22 22:27
自己发的贴,死也要往上顶!!!!
作者:
beyoungd
时间:
2015-10-22 22:41
//计算总成绩
for (int i =0;i < 4;i++){
for (int j = 0; j <=4; j++) {
sum2 +=a[i][j];
更改为
//计算总成绩
for (int i =0;i < 3;i++){
for (int j = 0; j <4; j++) {
sum2 +=a[i][j];
作者:
beyoungd
时间:
2015-10-22 22:44
修改方向:1,可以选择是按科目录入分数,还是按学生姓名依次录入分数
2,最后遍历的时候,显示学生姓名及各科目名称等
作者:
赵飞
时间:
2015-10-23 09:07
这个。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2