📄 13.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 + -