A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© beyoungd 中级黑马   /  2015-10-22 21:50  /  899 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

通过键盘输入3名学生4们课程的成绩
要求所有成绩均放入一个4行5列的数组中,输入同一人数据用空格,不同人用回车,其中最后一列和最后一行分别放每个学生的平均成绩 每门课程平均成绩 和总平均成绩

11 个回复

倒序浏览
成绩管理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;
}

   
回复 使用道具 举报
以后会慢慢完善和修改,请大家多提意见
回复 使用道具 举报
前排插入,强势围观
回复 使用道具 举报
先来顶个贴
回复 使用道具 举报
运行结果如下:
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$
回复 使用道具 举报
最后的打印和总平均成绩a[3][4]貌似还有点问题,以后有时间修改
回复 使用道具 举报
1.0都来了,2.0还会远么?
回复 使用道具 举报
自己发的贴,死也要往上顶!!!!
回复 使用道具 举报
    //计算总成绩
    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];
            
回复 使用道具 举报
修改方向:1,可以选择是按科目录入分数,还是按学生姓名依次录入分数
                 2,最后遍历的时候,显示学生姓名及各科目名称等
回复 使用道具 举报
赵飞 中级黑马 2015-10-23 09:07:56
12#
这个。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马