输人10个学生5门课的成绩,分别用函数实现下列功能:

Posted inta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输人10个学生5门课的成绩,分别用函数实现下列功能:相关的知识,希望对你有一定的参考价值。

输人10个学生5门课的成绩,分别用函数实现下列功能:

①计算每个学生的平均分;
②计算每门课的平均分;
③找出所有50个分数中最高的分数所对应的学生和课程;
④计算平均分方差:

其中,x;为某一学生的平均分。

题目解析:

此题的关键是如何存储某个学生对应某门课程的分数,这里利用了一个二维数组score,其中score[i] [j]就代表了第i个学生的第j门课程的分数,只要能够理解这个存储方式,其余的计算就是比较容易理解和实现的。

代码示例:

#include<stdio.h>

#define N 10
#define M 5
float score[N][M];
float a_stu[N], a_cour[M];
int r, c;

//输入学生成绩信息函数
void input_stu(void)
{
	int i, j;
	for (i = 0; i < N; i++)
	{
		printf("
input score of student%2d:
", i + 1);
		for (j = 0; j < M; j++)
			scanf("%f", &score[i][j]);
	}
}

//每个学生平均分
void aver_stu(void)
{
	int i, j;
	float s;
	for (i = 0; i < N; i++)
	{
		for (j = 0, s = 0; j < M; j++)
			s += score[i][j];
		a_stu[i] = s / 5.0;
	}
}

//每门课程平均分
void aver_cour(void)
{
	int i, j;
	float s;
	for (j = 0; j < M; j++)
	{
		s = 0;
		for (i = 0; i < N; i++)
			s += score[i][j];
		a_cour[j] = s / (float)N;
	}
}

//最高分函数
float highest()
{
	float high;
	int i, j;
	high = score[0][0];
	for (i = 0; i < N; i++)
	for (j = 0; j<M; j++)
	if (score[i][j]>high)
	{
		high = score[i][j];
		r = i + 1;
		c = j + 1;
	}
	return(high);
}

//方差函数
float s_var(void)
{
	int i;
	float sumx, sumxn;
	sumx = 0.0;
	sumxn = 0.0;
	for (i = 0; i < N; i++)
	{
		sumx += a_stu[i] * a_stu[i];
		sumxn += a_stu[i];
	}
	return(sumx / N - (sumxn / N)*(sumxn / N));
}

int main()
{
	int i, j;
	float h;
	input_stu();
	aver_stu();
	aver_cour();
	printf("
  NO.     cour1   cour2   cour3   cour4   cour5   aver
");
	for (i = 0; i < N; i++)
	{
		printf("
 NO %2d ", i + 1);
		for (j = 0; j < M; j++)
			printf("%8.2f", score[i][j]);
		printf("%8.2f
", a_stu[i]);
	}
	printf("
average:");
	for (j = 0; j < M; j++)
		printf("%8.2f", a_cour[j]);
	printf("
");
	h = highest();
	printf("highest:%7.2f   NO. %2d   course %2d
", h, r, c);
	printf("variance %8.2f
", s_var());
	return 0;
}

运行结果:

技术图片
技术图片





以上是关于输人10个学生5门课的成绩,分别用函数实现下列功能:的主要内容,如果未能解决你的问题,请参考以下文章

C语言试题练习:输入5个学生5门课的成绩,分别用函数求:1.每个学生平均分;2.每门课的平均分;3.找出所有分数中最高分

C语言试题练习:输入5个学生5门课的成绩,分别用函数求:1.每个学生平均分;2.每门课的平均分;3.找出所有分数中最高分

C语言试题练习:输入5个学生5门课的成绩,分别用函数求:1.每个学生平均分;2.每门课的平均分;3.找出所有分数中最高分

C语言试题练习:输入5个学生5门课的成绩,分别用函数求:1.每个学生平均分;2.每门课的平均分;3.找出所有分数中最高分

这个程序如何返回最高分的学生号和课程号?用函数做。

c语言 结构体和共用体 1. 有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生数据