⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 13.cpp

📁 成绩管理1.每个学生平均分 2.每门课的平均分 3.找出最高分数所对应的学生和课程 4.求平均分方差
💻 CPP
字号:
//输入10个学生5门课的成绩,分别用函数求:1.每个学生平均分;2.每门课的平均分;3.找出最高分数所对应的学生和课程;4.求平均分方差
#include <stdio.h>
float aver1[10],aver2[5],high;     //函数1中使用,函数2中使用
int x,y;                           //x,y是标记i,j的,实际上是从1开始的,不是0,所以x=i+1;y=j+1;函数3中使用
void aver_number(float score[10][5])        //每个学生平均分的函数1
{
	int i,j;
	float sum;
	for(i=0;i<=9;i++)
	{
		sum=0;
		for(j=0;j<=4;j++)
			sum=sum+score[i][j];
		aver1[i]=sum/5;
	}
}

void aver_course(float score[10][5])        //每门课程的平均分的函数2
{
	int i,j;
	float sum;
	for(j=0;j<=9;j++)
	{
		sum=0;
		for(i=0;i<=9;i++)
			sum=sum+score[i][j];
		aver2[j]=sum/10;
	}
}

void highest_score(float score[10][5])     //找出最高分数的函数3
{
	int i,j;
	high=score[0][0];
	for(i=0;i<=9;i++)
		for(j=0;j<=4;j++)
			if(score[i][j]>=high)
			{
				high=score[i][j];
				x=i+1;
				y=j+1;
			}
}

float fangcha_aver1(float aver1[10])      //求平均分方差的函数4
{
	int i;
	float sum1=0,sum2=0,fangcha;
	for(i=0;i<=9;i++)
	{
		sum1=sum1+aver1[i]*aver1[i];
		sum2=sum2+aver1[i];
	}
	fangcha=sum1/10-(sum2/10)*(sum2/10);
	return(fangcha);
}

void main()
{
	int i,j;
	float score[10][5];
	for(i=0;i<=9;i++)
	{
		printf("请输入第%d个学生的成绩:",i+1);   //输出1-10的序号
		for(j=0;j<=4;j++)
			scanf("%f",&score[i][j]);
	}
	aver_number(score);             //调用函数1
	aver_course(score);             //调用函数2
	highest_score(score);           //调用函数3

    printf(" Number  course1   course2   course3   course4   course5    aver\n");
	for(i=0;i<=9;i++)
	{
		printf(" NO.%2d    ",i+1);   //输出1-10的序号
		for(j=0;j<=4;j++)
			printf("%-10.1f",score[i][j]);
		printf("%-10.1f",aver1[i]);
		printf("\n");
	}
	printf("总平均分: ");
	for(j=0;j<=4;j++)
		printf("%-9.1f",aver2[j]);
	printf("\n");
	printf("最高分为:  %.1f   NO.%d  course%d",high,x,y);
	printf("\n");
	printf("平均分方差为:  %-5.2f\n",fangcha_aver1(aver1));	   //调用函数4
}
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -