C语言编程?

某班有40名同学,定义数组longid[]存储学号,定义数组intscore[][5],存储4门课成绩和总分,用自定义函数完成如下功能:1、自定义函数inid()完成输入... 某班有40名同学,定义数组long id[]存储学号,定义数组int score[][5],存储4门课成绩和总分,用自定义函数完成如下功能:1、自定义函数inid()完成输入学号(8位整数)2、自定义函数inscore()完成每位同学4门课程成绩输入。3、自定义函数sumscore(),求每位同学的总分,存入score的第5列。4、用自定义函数,设计一个屏幕格式输出所有同学的学号、各门课成绩和总分。 展开
 我来答
xgn911
2022-12-12 · TA获得超过1359个赞
知道小有建树答主
回答量:1493
采纳率:96%
帮助的人:631万
展开全部

以3名同学为例的代码如下:

运行结果如下:

附源码:(改为40名同学)

#include <stdio.h>

#define N 40

void inid(long id[]) { // 输入所有同学学号

    int i;

    for (i = 0; i < N; i++)

        scanf("%ld", &id[i]);

}

void inscore(int score[][5]) { // 输入所有同学成绩

    int i, j;

    for (i = 0; i < N; i++) {

        for (j = 0; j < 4; j++)

            scanf("%d", &score[i][j]);

    }

}

void sumscore(int score[][5]) { // 计算每名同学总分

    int i, j;

    for (i = 0; i < N; i++) {

        score[i][4] = 0; // 总分初始化为0

        for (j = 0; j < 4; j++)

            score[i][4] += score[i][j];

    }

}

void display(long id[], int score[][5]) {

    int i, j;

    printf("学号\t\t课程1\t课程2\t课程3\t课程4\t总分\n");

    for (i = 0; i < N; i++) {

        printf("%08ld", id[i]); // 输出8位学号,不够补0

        for (j = 0; j < 4; j++) // 输出各科成绩

            printf("\t%d", score[i][j]);

        printf("\t%d\n", score[i][4]); // 输出总分

    }

}

int main() {

    long id[N];

    int score[N][5];

    inid(id);

    inscore(score);

    sumscore(score);

    display(id, score);

    return 0;

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式