c语言 输入10个学生5门功课成绩求:1每个学生的平均分;2每门功课的平均分;3计算平均方差
发布网友
发布时间:2022-08-20 14:32
我来回答
共5个回答
热心网友
时间:2023-11-06 06:43
#include<stdio.h>
int main()
{
float stu[10][5];
float a[10];
int i,j;
float sum,ave;
for (i=0; i<10; i++) {
printf("输入第%d个学生的成绩:",i+1);
for (j=0; j<5; j++) {
scanf("%f",&stu[i][j]);
}
}
for (i=0; i<10; i++) {
sum=0;
for (j=0; j<5; j++) {
sum=sum+stu[i][j];
}
printf("第%d个学生的平均分:%.2f\n",i+1,ave=sum/5);
a[i]=ave;
}
for (i=0; i<5; i++) {
sum=0;
for (j=0; j<10; j++) {
sum=sum+stu[j][i];
}
printf("第%d科成绩平均分:%.2f\n",i+1,ave=sum/10);
}
ave=0;
for (i=0; i<10; i++) {
ave=ave+a[i];
}
ave=ave/10;
sum=0;
for (i=0; i<10; i++) {
sum=sum+(a[i]-ave)*(a[i]-ave);
}
printf("平均方差:%f\n",sum/10);
return 0;
}
输入输出数据测试:
输入第1个学生的成绩:44 66 33 55 22
输入第2个学生的成绩:88 44 88 34 66
输入第3个学生的成绩:24 77 44 88 33
输入第4个学生的成绩:56 33 56 67 78
输入第5个学生的成绩:54 44 23 55 66
输入第6个学生的成绩:23 45 54 22 16
输入第7个学生的成绩:55 88 77 55 99
输入第8个学生的成绩:77 57 98 76 98
输入第9个学生的成绩:77 86 47 84 87
输入第10个学生的成绩:100 100 100 99 99
第1个学生的平均分:44.00
第2个学生的平均分:64.00
第3个学生的平均分:53.20
第4个学生的平均分:58.00
第5个学生的平均分:48.40
第6个学生的平均分:32.00
第7个学生的平均分:74.80
第8个学生的平均分:81.20
第9个学生的平均分:76.20
第10个学生的平均分:99.60
第1科成绩平均分:59.80
第2科成绩平均分:64.00
第3科成绩平均分:62.00
第4科成绩平均分:63.50
第5科成绩平均分:66.40
平均方差:364.128357
热心网友
时间:2023-11-06 06:43
void main()
{
int i,j;
float score[20][11];
float avgstud[20]={0.0};/*学生平均分*/
float avgcourse[6]={0.0};
float delta[20]={0.0};/*方差*/
/*输入学生的成绩,五个一组*/
for(i=1;i<=10;i++)
{
printf("please input student %d: score(5 total)\n",i);
for(j=1;j<=5;j++)
scanf("%f",&score[i][j]);
}
/*计算每个学生的平均分*/
for(i=1;i<=10;i++)
{
for(j=1;j<=5;j++)
{
avgstud[i]=avgstud[i]+score[i][j];
}
avgstud[i]=avgstud[i]/5;
}
/*计算每门课的平均分*/
for(i=1;i<=5;i++)
{
for(j=1;j<=10;j++)
{
avgcourse[i]=avgcourse[i]+score[j][i];
}
avgcourse[i]=avgcourse[i]/10.0;
}
/*计算每门课的方差*/
for(i=1;i<=5;i++)
{
for(j=1;j<=10;j++)
{
delta[i]=(avgcourse[i]-score[j][i])*(avgcourse[i]-score[j][i]);
}
delta[i]=delta[i]/10.0;
}
printf("\nthe score of the student:\n");
for(i=1;i<=10;i++)
{
for(j=1;j<=5;j++)
printf("%8.2f",score[i][j]);
printf("\n");
}
printf("\nthe average score of every student:\n");
for(i=1;i<=10;i++)
{
printf("%8.2f\n",avgstud[i]);
}
printf("\n");
printf("\nthe avgcourse:\n");
for(i=1;i<=5;i++)
{
printf("%8.2f",avgcourse[i]);
}
printf("\nthe delta of every course:\n");
for(i=1;i<=5;i++)
{
printf("%10.8f\n",delta[i]);
}
printf("\n");
printf("\n");
getch();
}
不懂再问我呵。写了我半个小时呢,呵呵
热心网友
时间:2023-11-06 06:44
这个是三个人的三科目:(再改成五行五列就是你要的了!第三个问题我没懂!)
#include <iostream.h>
void main()
{
int a[3][3]={85,90,80,65,70,75,75,85,77};
float s;
int t;
cout<<"j代表科目:英语,数学,C++;"<<endl;
cout<<"i代表学生."<<endl;
for(int i=0;i<3;i++)
{
s=0;
for(int j=0;j<3;j++)
{
s=s+a[i][j];
}
cout<<"就学生"<<i<<"的平均分数:"<<(s/3)<<endl;
}
for(int j=0;j<3;j++)
{
s=0;
for(int i=0;i<3;i++)
{
s=s+a[i][j];
}
cout<<"求"<<j<<"科目的平均分数:"<<(s/3)<<endl;
}
}
热心网友
时间:2023-11-06 06:44
把第三个问题补充一下,计算哪个的平均方差
热心网友
时间:2023-11-06 06:45
你把第三个问题给说明白了,我给你搞定!