采用二维数组输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每门课的成绩。(C语言)

如题所述

#include<stdio.h>
#define max 100
float student[max][5];
float sum[max];
float kemu[max];
int main(){
int n;//学生人数
int i,j;

scanf("%d",&n);

for (i=0;i<n;i++){
sum[i]=0;
for(j=0;j<5;j++){
scanf("%f",&student[i][j]);
sum[i]=sum[i]+student[i][j];//计算每个同学的平均成绩
}
sum[i]=sum[i]/5;
}
//计算每门课的平均成绩
for(i=0;i<5;i++){
kemu[i]=0;
for (j=0;j<n;j++)
kemu[i]=kemu[i]+student[j][i];
kemu[i]=kemu[i]/n;
}
printf("每个同学的平均成绩为:");
for (i=0;i<n;i++)
printf(" % lf",sum[i]);
printf("\n各科的平均成绩为:");
for (i=0;i<5;i++)
printf("% lf",kemu[i]);
printf("\n");
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-24
#include<stdio.h>
#define m 20//定义班级人数,m的值可以设定
struct student//学生
{
char name[10];//姓名
int subject1;//科目一
int subject2;//科目二
int subject3;//科目三
int subject4;//科目四
int subject5;//科目五
int sum;//总分
float average;//科目平均分
}stu[m];

void main()
{
int n;
float sub[5]={0,0,0,0,0};//各科平均分
for(n=0;n<m;n++)//输入数据
{
scanf("%s",&stu[n].name);
scanf("%d",&stu[n].subject1);
scanf("%d",&stu[n].subject2);
scanf("%d",&stu[n].subject3);
scanf("%d",&stu[n].subject4);
scanf("%d",&stu[n].subject5);

}
for(n=0;n<m;n++)//求总分,平均分
{
stu[n].sum=stu[n].subject1+stu[n].subject2+stu[n].subject3+stu[n].subject4+stu[n].subject5;
stu[n].average=stu[n].sum/5.0;
sub[0]+=stu[n].subject1;
sub[1]+=stu[n].subject2;
sub[2]+=stu[n].subject3;
sub[3]+=stu[n].subject4;
sub[4]+=stu[n].subject5;
}
for(n=0;n<5;n++)//求各科平均分
{
sub[n]=sub[n]/m;
}
printf("name subject1 subject2 subject3 subject4 subject5 sum average\n");//打印项目栏
for(n=0;n<m;n++)
{
printf("%-10s %8d %8d %8d %8d %8d %3d %.2f\n",stu[n].name,stu[n].subject1,stu[n].subject2,stu[n].subject3,stu[n].subject4,stu[n].subject5,stu[n].sum,stu[n].average);
}
printf("subaverage");
for(n=0;n<5;n++)
{
printf(" %.2f",sub[n]);
}
printf("\n");

}本回答被网友采纳
第2个回答  2019-03-10
#include<iostream>
#include<cmath>
#include<climits>
using namespace std;
int main(){
int a[100][4],n,max;
cin>>n;
//输入每个学生的各科成绩
for(int i=0;i<n;i++){
for(int j=0;j<4;j++){
cin>>a[i][j];
}
}
/*注意是各科成绩最高,所以行的循环在外层
由于第一列是学号,所以j要从第二列开始下标是1
*/
for(int j=1;j<4;j++){
max=0; //统计每门课程,所以每门课统计完后要清零
for(int i=0;i<n;i++){
if(a[i][j]>max)
max=a[i][j];
}
//由于有多门课,所以输出要放在第一层循环里面
cout<<max<<" ";
}
return 0;
}

采用二维数组输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每...
printf(" % lf",sum[i]);printf("\\n各科的平均成绩为:");for (i=0;i<5;i++)printf("% lf",kemu[i]);printf("\\n");return 0;}

输入六名学生五门课程的成绩,分别统计出每个学生的平均分和每门课程...
{sum1=sum1+a[i][j];if(j%4==0) continue;} printf("该学生平均分=%3.2f\\n",sum1\/5.0);} for(j=0;j<5;j++){sum2=0;for(i=0;i<6;i++){sum2=sum2+b[j][i];if(i%5==0) continue;} printf("该课程平均分=%3.2f\\n",sum2\/6.0);} } 本题要充分运用二维数...

如何采用二维数组求出每个学生的平均成绩和每门课的成绩?
scanf("%d",&stu[n].subject4);scanf("%d",&stu[n].subject5);} for(n=0;n<m;n++)\/\/求总分,平均分 { stu[n].sum=stu[n].subject1+stu[n].subject2+stu[n].subject3+stu[n].subject4+stu[n].subject5;stu[n].average=stu[n].sum\/5.0;sub[0]+=stu[n].subject1;sub...

C语言初级编程,二维数组求五个学生语,数,外三门课的总成绩,以及语,数...
int sum = 0;\/\/每门课的总分数 for (int i = 0; i < 3; i ++) { \/\/首先,要把平均分清0,因为每门课平均分从0开始累计 sum = 0;for (int j = 0; j < 5; j ++) { \/\/求得每门课得总分数 sum += score[j][i];} \/\/平均分 float avg = sum \/ 5.0f;printf("第...

C++用二维数组求学生成绩
i++){ cout<<"输入第"<<i+1<<"个同学的五门成绩以空格分开"<<endl;for(j=0;j<5;j++)cin>>score[i][j];} for(i=0;i<5;i++){ sum=0;for(j=0;j<5;j++)sum+=score[i][j];cout<<"第"<<i+1<<"个学生的总分为:"<<sum<<",平均成绩为:"<<sum\/5<<endl;} } ...

C语言二维数组?
{ int score[5][3];float ave_score_1[5];float ave_score_2[3];int i,j;int sum_score;printf("Please input the score:\\n");for(i=0;i<5;i++){ scanf("%d %d %d",&score[i][0],&score[i][1],&score[i][2]);} for(i=0;i<5;i++){ sum_score = 0;for(j=0...

用二维数组求五名学生的三门成绩的平均分和总分
只是给个思路,定义一个5X6的二维数组,用来保留五名学生的个人信息,三门成绩,以及总分,平均分。使用双重循环,外循环负责改变学生信息,内循环负责计算总分和平均分并打印输出。就可以了。

C语言编程,输入五个学生的五科成绩,求每科的平均分,最高分,最低分...
include <stdio.h>main(){double a[8][5]={0};int i,j;for(i=0;i<5;i++){for(j=0;j<5;j++)scanf("%lf",&a[i][j]);}for(j=0;j<5;j++){for(i=0;i<5;i++)a[5][j]+=(a[i][j]\/5.0);printf("课程%d的平均分=%g\\n",j+1,a[5][j]);}for(i=0;i<...

C语言问题。要求编程求出总成绩并按总成绩排?
在C语言中,解决编程问题以求出总成绩并按总成绩排序的程序设计如下。此程序使用二维数组存储每个学生的五门成绩,并计算总成绩。之后,程序通过选择排序算法对学生按总成绩进行排序。首先,程序包含一个整型主函数`main()`,定义了六个整型数组`res`和`scoreData`用于存储学生编号、总成绩和成绩数据。通过...

java 二维数组怎么定义
例1、定义一个二维数组 int[ ][ ] arr = {{5,7,9},{12,14,16,18},{23,25,36,47},{22,54,65,15},{22,34}};求数组元素的和。输出结果:例2、使用二维数组存储班上五个学生三门功课的考试成绩,要求输出每一个学生的总分、平均分、最高分、最低分--->使用就按盘录入的方式录入...

相似回答