一个班级m个人,每人n门课程,求每个人的各科平均成绩和整个班级的各科平均成绩。

本文介绍了一个C语言程序,该程序用于读取一个m x n的二维数组,并计算每行和每列的平均值,最后将结果输出。通过双重循环实现了数组元素的输入和平均值的计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



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

int main()
{
    int m,n,i,j,c,d;
    while(scanf("%d%d",&m,&n)!=EOF)
    {
        double a[m+1][n+1];
        for(i=0; i<=m; i++)
            for(j=0; j<=n; j++)
                a[i][j]=0;
        for(i=0; i<m; i++)
            for(j=0; j<n; j++)
                scanf("%lf",&a[i][j]);
        for(i=0; i<m; i++)
        {
            c=0;
            for(j=0; j<n; j++)
                c=c+a[i][j];
            a[i][n]=c/n;
        }


        for(j=0; j<n; j++)
        {
            d=0;
            for(i=0; i<m; i++)
                d=d+a[i][j];
            a[m][j]=d/m;
        }
        for(i=0; i<=m; i++)
        {
            for(j=0; j<=n; j++)
            {
                if(i==m&&j==n) break;
            printf("%.1lf ",a[i][j]);
            }

            printf("\n");
        }
    }
    return 0;
}

### 回答1: 可以使用两个循环来实现这个问题。第一个循环遍历每个学生,计算每个学生平均成绩;第二个循环遍历每课程,计算每课程平均成绩。 具体实现步骤如下: 1. 定义一个二维数组scores,存储所有学生各科成绩,其中scores[i][j]表示第i个学生的第j课程成绩。 2. 定义一个一维数组stu_avg,存储每个学生平均成绩,其中stu_avg[i]表示第i个学生平均成绩。 3. 定义一个一维数组cou_avg,存储每课程平均成绩,其中cou_avg[j]表示第j课程平均成绩。 4. 第一个循环遍历每个学生,计算每个学生平均成绩。具体实现如下: for(int i=; i<m; i++){ double sum = ; for(int j=; j<n; j++){ sum += scores[i][j]; } stu_avg[i] = sum / n; } 5. 第二个循环遍历每课程,计算每课程平均成绩。具体实现如下: for(int j=; j<n; j++){ double sum = ; for(int i=; i<m; i++){ sum += scores[i][j]; } cou_avg[j] = sum / m; } 6. 最后输出每个学生平均成绩课程平均成绩即可。 for(int i=; i<m; i++){ cout << "第" << i+1 << "个学生平均成绩为:" << stu_avg[i] << endl; } for(int j=; j<n; j++){ cout << "第" << j+1 << "课程平均成绩为:" << cou_avg[j] << endl; } ### 回答2: 为了解决以上问题,我们可以通过编写一段程序来快速计算每个学生平均成绩课程平均成绩。 首先,我们需要定义一个二维数组,用来存储所有学生各科成绩。二维数组的行数为学生数量m,列数为课程数量n。 接下来,我们可以使用两个for循环来分别计算每个学生平均成绩课程平均成绩。在每个循环中,我们可以使用一个计数器来累加所有成绩,然后将总成绩除以m或n来得到平均成绩。 具体来说,我们可以使用如下的伪代码来实现上述过程: ``` // 定义二维数组,存储所有学生各科成绩 int scores[m][n]; // 初始化二维数组,根据实际数据赋值 // 计算每个学生平均成绩 for (int i = 0; i < m; i++) { int sum = 0; for (int j = 0; j < n; j++) { sum += scores[i][j]; } double avg = sum / n; // 输出每个学生平均成绩 print("第" + i + "个学生平均成绩为:" + avg); } // 计算每课程平均成绩 for (int j = 0; j < n; j++) { int sum = 0; for (int i = 0; i < m; i++) { sum += scores[i][j]; } double avg = sum / m; // 输出每课程平均成绩 print("第" + j + "课程平均成绩为:" + avg); } ``` 通过以上代码,我们可以得到每个学生平均成绩课程平均成绩。这个程序可以方便地应用于各种情况,如教育领域、体育领域、商业领域等等。 ### 回答3: 对于这个问题,我们可以通过编写程序进行解。一般来说,我们可以使用各种编程语言来进行,例如Python、Java等。 首先,我们需要定义一个二维数组来存储所有学生各科成绩。假设该数组为score,那么score[i][j]表示第i个学生在第j科目上的成绩。同时,我们还需要定义两个一维数组,一个用于存储每个学生平均成绩,另一个用于存储每课程平均成绩。假设这两个数组分别为stu_avgsub_avg。 接下来,我们可以使用循环来遍历score数组,分别累加每个学生在每课程上的成绩,同时计算出每个学生平均成绩。代码如下: ```python m = len(score) # 学生数 n = len(score[0]) # 课程数 stu_avg = [0] * m # 存放每个学生平均成绩 sub_avg = [0] * n # 存放每课程平均成绩 # 计算每个学生平均成绩课程平均成绩 for i in range(m): for j in range(n): stu_avg[i] += score[i][j] sub_avg[j] += score[i][j] stu_avg[i] /= n # 计算每个学生平均成绩 # 计算每课程平均成绩 for j in range(n): sub_avg[j] /= m ``` 最后,我们可以输出每个学生平均成绩课程平均成绩,代码如下: ```python # 输出每个学生平均成绩 for i in range(m): print("第%d个学生平均成绩为:%.2f" % (i+1, stu_avg[i])) # 输出每课程平均成绩 for j in range(n): print("第%d课程平均成绩为:%.2f" % (j+1, sub_avg[j])) ``` 在程序运行完毕后,就可以得到每个学生平均成绩课程平均成绩了。通过这样的方式,我们可以方便地对大量数据进行计算统计,从而更好地了解分析数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值