当前位置:首页 » 编程语言 » c语言求六个人的平均成绩
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言求六个人的平均成绩

发布时间: 2023-01-14 23:42:26

‘壹’ c语言编写程序,从键盘输入6名学生5门功课成绩,分别统计出每个学生的平均成绩

一、问题分析

需要保存6名学生5门功课的成绩,需要设计一个6行5列大小的二维数组scores[6][5]来存储30个成绩数据。保存6名学生的平均成绩,需要设计一个6列大小的一维数组来avgs[6]存储平均成绩。

为使程序具有更好的通用性,使用宏定义定义学生人数M和课程门数N。

计算每个学生的平均成绩时,累加该行所有列的成绩数据,并除以列大小即为该学生的平均成绩。


二、参考程序

#include<stdio.h>

#defineM6 /*学生人数*/
#defineN5 /*课程门数*/

/*输入row个学生col门课程的成绩*/
voidinput(doublescores[][N],introw,intcol);

/*计算row个学生的平均成绩并保存在avgs数组中*/
voidaverage(doublescores[][N],introw,intcol,doubleavgs[]);

/*输出所有学生的平均成绩*/
voidoutput(doubleavgs[],intsize);

voidmain()
{
doublescores[M][N];
doubleavgs[M];

input(scores,M,N);

average(scores,M,N,avgs);

output(avgs,M);
}

/*输入row个学生col门课程的成绩*/
voidinput(doublescores[][N],introw,intcol)
{
inti,j;

printf("请输入%d个学生%d门课程的成绩,每个学生成绩在一行,以空格分隔成绩: ",row,col);
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
scanf("%lf",&scores[i][j]);
}
}
}

/*计算row个学生的平均成绩并保存在avgs数组中*/
voidaverage(doublescores[][N],introw,intcol,doubleavgs[])
{
inti,j;

for(i=0;i<row;i++)
{
avgs[i]=0.0;
for(j=0;j<col;j++)
{
avgs[i]+=scores[i][j];
}
avgs[i]/=col;
}
}

/*输出所有学生的平均成绩*/
voidoutput(doubleavgs[],intsize)
{
inti;

printf("%6s%10s ","序号","平均成绩");
printf("---------------------------- ");
for(i=0;i<size;i++)
{
printf("%6d%10.2lf ",i+1,avgs[i]);
}
}


三、运行测试

‘贰’ c语言初学者 求6个人成绩平均分的程序 源代码如下,中间几个printf是想知道错在哪...

修改之后的代码:

#include<stdio.h>

#include<conio.h>

void main()

{

int i,j,k;

int score[6][3]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

double average[3]={0.0,0.0,0.0},sum[3]={0.0,0.0,0.0};

printf("请输入3门成绩数学语文英语 ");

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

{

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

{

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

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

printf("%f ",sum[j]);

}

}

printf("%f%f%f",sum[0],sum[1],sum[2]);

printf("平均成绩: ");

for(k=0;k<3;k++)

{average[k]=sum[k]/6.0;

printf("%.1f",average[k]);

}

}

测试结果:看是不是你想要的结果

你提问的时候也不说说自己的思路我只能猜这个6*3的数组是干嘛的- -

这段代码最主要的问题是嵌套for循环的时候括号掉了导致score数组赋值的时候以初值0赋值,也就是你看到的0了。小问题是数组初始化的时候赋值不完整,比如score数组为嘛一行就给一个0嘛- -

其他的就是书写规范上的问题 就不啰嗦了