C语言问题怎样用二维数组编写学生成绩单。 5

使用二维数组处理5个学生的4门课程成绩,完成如下功能:1.输入成绩时按照列(即每门课程)的方式输入2.计算每门课程的平均分和最高分并输出成绩单3.输出每门课程的最高分的学... 使用二维数组处理5个学生的4门课程成绩,完成如下功能:

1.输入成绩时按照列(即每门课程)的方式输入
2.计算每门课程的平均分和最高分并输出成绩单
3.输出每门课程的最高分的学生的姓名
所有的代码放在一个程序中。
展开
 我来答
自我编程
2018-05-10 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部

按照你要求,用二维数组编写。颂侍

#include<stdio.h>
#include<string.h>
int main( )
{
    char stu[4][100],stuName[5][5]={"小明","小王","小陈","小李","小丽"},score[4],maxName[4][5];//成绩最多输入3位数999
    int i,j,num,sum,ave[4],maxScore[4]={0,0,0,0};

    for(i=0;i<4;i++)
    {
        stu[i][0]=0;
        sum=0;
        printf("请输入学科%d各个学生的成绩:\n",i+1);
        for(j=0;j<5;j++)
        {
            printf("%15s的成绩:",stuName[j]);
            scanf("%d",&num);
            sprintf(score,"%d",num);
            if(maxScore[i]<num)//记录每科最高成绩的人
            {
                maxScore[i]=num;
 悉型               strcpy(maxName[i],stuName[j]);
            }
            sum=sum+num;//记录每科总分
            strcat(stu[i],stuName[j]);//拼接成绩单
            strcat(stu[i],":");
            strcat(stu[i],score);
            strcat(stu[i],";");
        }
        ave[i]=sum/5;//记录每科平均分
    }
    for(i=0;i<4;i++)
    {
        printf("学科%d的最高分为%s:%d,平均分为%d。\n    所有学生野陆吵成绩单为:%s。\n",i+1,maxName[i],maxScore[i],ave[i],stu[i]);
    }
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式