c语言 输入10个学生5门功课成绩求:1每个学生的平均分;2每门功课的平均分;3计算平均方差
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 输入10个学生5门功课成绩求:1每个学生的平均分;2每门功课的平均分;3计算平均方差相关的知识,希望对你有一定的参考价值。
我不会做啊,真难
#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
参考技术A 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();
不懂再问我呵。写了我半个小时呢,呵呵本回答被提问者和网友采纳 参考技术B 这个是三个人的三科目:(再改成五行五列就是你要的了!第三个问题我没懂!)
#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;
参考技术C 把第三个问题补充一下,计算哪个的平均方差 参考技术D 你把第三个问题给说明白了,我给你搞定!
C语言试题练习:输入5个学生5门课的成绩,分别用函数求:1.每个学生平均分;2.每门课的平均分;3.找出所有分数中最高分
C语言试题练习:输入5个学生5门课的成绩,分别用函数求:①每个学生平均分;②每门课的平均分;③找出所有分数中最高分
//每个学生平均分;
void Average_Students(int a[5][5])
int i, j;
for (i = 0; i < 5; i++)
//第i+1个同学
double c;
int b = 0;
for (j = 0; j < 5; j++)
//第i+1个同学的成绩平均分
b += a[i][j];
c = b / 5.00;
printf("第%d个同学的成绩平均分%0.2f\\n", i + 1, c);
//每门课的平均分;
void Average_Class(int a[5][5])
int i, j;
for (j = 0; j < 5; j++) //这里a【i】【j】,j循环放在最外面
double c;
int b = 0;
for (i = 0; i < 5; i++)
b += a[i][j];
c = b / 5;
//printf("%d\\t", a[i][j]); 这里可以看下输出的分数列的数据
printf("第%d门课的平均分分别为%0.2f\\n", j + 1, c);
//所有分数中最高分;
void Max_Point(int a[5][5])
int maxh[5];
int i, j, max;
for (i = 0, j = 0; i < 5; i++)
maxh[i] = a[i][j];//假设每行第一个是最大值
for (j = 0; j < 5 - 1; j++)
//此行元素分别与之比较,较大值为maxh[i]
if (a[i][j + 1] >= maxh[i])
maxh[i] = a[i][j + 1];
for (i = 0; i < 5 - 1; i++)
max = maxh[i];//假设第一列的数是最大值
//整列元素分别与之比较,较大值为max
if (maxh[i + 1] >= max)
max = maxh[i + 1];
printf("所有分数中最高分max=%d\\n", max);
int main()
int a[5][5];
int i, j;
for (i = 0; i < 5; i++)
printf("第%d个同学的成绩:", i + 1);
for (j = 0; j < 5; j++)
scanf_s("%d", &a[i][j]);
//**输入时数字之间用空格分隔**
printf("\\n");
Average_Students(a); printf("\\n");
Average_Class(a); printf("\\n");
Max_Point(a); printf("\\n");//输出空格可去掉,这样只是为了输出结果美观
return 0;
输出结果
第1个同学的成绩:56 54 81 62 65
第2个同学的成绩:85 96 42 68 78
第3个同学的成绩:96 84 35 65 45
第4个同学的成绩:54 31 41 68 48
第5个同学的成绩:21 95 87 65 32
第1个同学的成绩平均分63.60
第2个同学的成绩平均分73.80
第3个同学的成绩平均分65.00
第4个同学的成绩平均分48.40
第5个同学的成绩平均分60.00
第1门课的平均分分别为62.00
第2门课的平均分分别为72.00
第3门课的平均分分别为57.00
第4门课的平均分分别为65.00
第5门课的平均分分别为53.00
所有分数中最高分max=95
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
参考链接 https://blog.csdn.net/weixin_45391986/article/details/105919562
以上是关于c语言 输入10个学生5门功课成绩求:1每个学生的平均分;2每门功课的平均分;3计算平均方差的主要内容,如果未能解决你的问题,请参考以下文章
在SQL SERVER中,怎样查询每门功课成绩最好的前两名,帮我写一下,谢谢,请补充:
C语言试题练习:输入5个学生5门课的成绩,分别用函数求:1.每个学生平均分;2.每门课的平均分;3.找出所有分数中最高分
C语言试题练习:输入5个学生5门课的成绩,分别用函数求:1.每个学生平均分;2.每门课的平均分;3.找出所有分数中最高分
C语言试题练习:输入5个学生5门课的成绩,分别用函数求:1.每个学生平均分;2.每门课的平均分;3.找出所有分数中最高分