马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 划句顾 于 2021-5-26 10:52 编辑
某学习小组有4名同学,学习了5门课程,求每个同学的平均分和每门课程的平均分。
算法分析:
①定义一个二维数组score[5][6](最后一行和最后一列存放平均数)
②为(4*5)数组赋值;
③求行平均数,把平均数存入score[i][5]中(i=0-3);
④求列平均数,把平均数存入score[4][j]中(j=0-4);
⑤输出整个数组。
/****************************************************
@fuction:求每个同学的平均分和每门课程的平均分
@time :2021/4/29
@author :LaoGu
*****************************************************/
#include<stdio.h>
int main()
{
int a[5][6]={0},i,j; //a[5][6]={0},数组a的值全为0,这样后面给i赋值时,可以保证a[5][6]=0; i为行,j为列
int sum1 = 0, sum2 = 0,ave1 = 0,ave2 =0;
/*****
分别输入a[i][j]的值
*****/
printf("输入a[i][j]:\n");
for(i = 0;i < 4; i++)
for(j = 0;j < 5;j++)
scanf("%d",&a[i][j]);
/*****
计算每个同学分数的平均值
*****/
for(i =0;i < 4;i++)
{
for(j = 0;j < 5;j++)
{
sum1 += a[i][j];
}
ave1 = sum1 / 5;
a[i][5] = ave1; //最后的格来放成绩的平均值
sum1 = 0; //置零是为了重新记录每个同学的成绩,让同学的初始成绩为0
}
/*****
计算同一科目分数的平均值
*****/
for(j =0;j < 5;j++)
{
for(i = 0;i < 4;i++)
{
sum2 += a[i][j];
}
ave2 = sum2 / 4;
a[4][j] = ave2; //最后的格来放成绩的平均值
sum2 = 0; //置零是为了重新记录每个科目的成绩,让科目平均值的初始值为0
}
/*****
分别输出a[i][j]的值
*****/
for(i = 0;i < 5; i++)
{
for(j = 0;j < 6;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}
|