c语言题,求解答案。。

输入三个同学的三门成绩,输出每个人的成绩总和,平均值

改一下数组大小就可以了

#include <stdio.h>

int xpj(int a[10][5])
{
	int i,j;
	double s[10];
	int b=0;
	double max;
	for(i=0;i<10;i++)
	{
		b=0;
		for(j=0;j<5;j++)
		{
			b+=a[i][j];
		}
		s[i]=b/5.00;
		printf("第%d个同学的成绩平均分%0.2f\n",i+1,s[i]);
	}
	max = s[0];
	b=0;
	for(i=0;i<10-1;i++)
	{
		if(s[i]>max){ 
			max=s[i];
			b=i;
		}
	}
	printf("第%d个同学的平均分最高且为%d分\n",b,max);
	return 0;
}

int kpj(int a[10][5])
{
	int i,j;
	double c;
	int b=0;
	for(j=0;j<5;j++)
	{
		for(i=0;i<10;i++)
		{
			b+=a[i][j];
		}
		c=b/10.00;
		printf("第%d门课的平均分分别为%0.2f\n",j+1,c);
	}
	return 0;
}

int main( )
{
	int a[10][5];
	int i,j;
	for(i=0;i<10;i++)
	{
		printf("第%d个同学的成绩为:",i+1);
		for(j=0;j<5;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	printf("\n");
	xpj(a);
	printf("\n");
	kpj(a);
	printf("\n");
	return 0;
}

 

typedef struct _student
{
    char name[20];
    float score1;
    float score2;
    float score3;
    float total;
    float avg;
}student;

void main()
{
    student stu[3];
    int i;
    for(int i=0;i<3;i++)
    {
        scanf("%s %f %f %f",stu[i].name, &stu[i].score1,&stu[i].score2,&stu[i].score3);
        stu[i].total = stu[i].score1+stu[i].score2+stu[i].score3;
        stu[i].avg = stu[i].total/3;
    }
    for(i=0;i<3;i++)
    {
        printf("同学<%s>的总分为:%f,平均分为:%f\n",stu[i].name,stu[i].total,stu[i].avg);
    }
}

 

#include <stdio.h>

void main()

{ int score[3][3], i,j;

float sum[3],average[3];

printf("请分别输入三个学生的成绩:\n");

for(i=0;i<3;i++)

{ sum[i]=0;

for(j=0;j<3;j++)

{scanf("%d",&score[i][j]);

average[i]=0;

sum[i]+=score[i][j];

average[i]=sum[i]/3;

}

}

for(i=0;i<3;i++)

printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]);

}

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632