欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

统计学生成绩,学生5人,课程四门,求每个人的总分和平均分,要求设计函数输入和输出

程序员文章站 2024-03-23 22:41:04
...

先看一下数组函数的一些知识
统计学生成绩,学生5人,课程四门,求每个人的总分和平均分,要求设计函数输入和输出

原本此篇博文是待解决的,然后我把未解决的代码码上,去描述这个问题时,突然找到解决点
最开始的问题是  process函数要调用input函数,我一直在process函数里调用它
导致input里的函数是输入值 那我不得输入两次值

后来改在主函数main里调用input函数,将其值存储在student中就解决了
#include<stdio.h>
#include<math.h>
#define N 5
#define M 4
int main()
{

	double student[5][4];/30太多   把30改成5   即N 为5
	int i, j;

	//调用input函数
	void input(double sore[][4], int n, int m);//函数声明   N=5   M=4
	input(student,5,4);  //调用输出成绩函数
	for (i = 0; i < 5; i++)
		for (j = 0; j < 4; j++) {
			printf("%8.2lf", student[i][j]);//数组里保存了分数  
			if(j==3)
			printf("\n");
		}printf("\n");

	//调用process函数
	double zongfen[5];
	double keaver[4];
	void process(double student[][4],double a[], double aver[], int n, int m);  //声明函数
	process(student,zongfen,keaver,5,4);

	for (i = 0; i < 5; i++) {   //输出每个学生的总分
		printf("%d学生总分分别是%8.2lf:",i,zongfen[i]);
		printf("\n");
	}

	for (j = 0; j < 4; j++)   //输出每门课的平均分
	{
		printf("每门课的平均分分别是%8.2lf: ",keaver[j]);
		printf("\n");
	}


}


//input 函数
void input(double sore[][4], int n, int m)
{
	int i, j;
	printf("请输入5名学生的4门课程分数:\n");
	for (i = 0; i < N; i++)
		for (j = 0; j < M; j++)
			scanf_s("%lf", &sore[i][j]);
	return sore;
}

//process 函数
void process(double student[][4],double a[], double aver[],int n,int m)//a[]是每个学生的总分0  v[]是每门课的总分  aver[]是四门课的平均分0
{
	printf("请计算每个学生的总分和每门课的平均分数:\n");
	int i,j;
	double v[4];
	//student里存储了每人的每项课分数
	//每个学生的总分数存储在a[i]中;
	for (i = 0; i < N; i++) //5个学生
	{
		a[i] = 0.0;
		for (j = 0; j < M; j++)
			a[i] += student[i][j];//每个学生的总分数存储在a[N]中;

	}

	//求每门课的平均分
	for (i = 0; i < M; i++)//M=4
	{
		v[i] = 0.0;
		for (j = 0; j < N; j++)//N=5
		{
			v[i] += student[j][i];            //m每门课的总分存在v[M]    v[0]  v[1]  v[2]  v[3]  
		}
	}
	for (i = 0; i < M; i++)
	aver[i] = v[i] / 5;         //求出四门课的平均分 将其存储在aver[M]中

}



```![在这里插入图片描述](https://img-blog.csdnimg.cn/20200926160755237.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjA5NjI5Nw==,size_16,color_FFFFFF,t_70#pic_center)

相关标签: C语言 c语言