创建一个二维数组,从键盘输入五个学生的4门课程的平均分2
发布网友
发布时间:2023-10-02 10:38
我来回答
共2个回答
热心网友
时间:2024-11-25 15:34
#include <stdio.h>
void main()
{
int score[5][4];
int sum[5] = {0, 0, 0, 0, 0};
int avg[4] = {0, 0, 0, 0};
int pos[4] = {0, 0, 0, 0};
int i, j, temp;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 4; j++)
{
scanf("%d", &score[i][j]);
sum[i] += score[i][j];
avg[j] += score[i][j];
}
}
for (i = 0; i < 5; i++)
{
printf("第%d个学生总成绩:%d\n", i + 1, sum[i]);
}
for (i = 0; i < 4; i++)
{
printf("第%d门课平均成绩:%f\n", i + 1, avg[i] / (float)4.0);
}
for (i = 0; i < 5; i++)
{
for (j = i + 1; j < 5; j++)
{
if (sum[i] > sum[j])
{
temp = sum[i];
sum[i] = sum[j];
sum[j] = temp;
}
}
}
for (i = 0; i < 5; i++)
{
printf("%d\n", sum[i]);
}
}追问一定对么???谢谢 我不是很了解 明天要考试这道题 麻烦了
热心网友
时间:2024-11-25 15:34
#include<stdio.h>
void main()
{
float score[5][4],sum[5]={0},subject[4]={0},t;
int i,j;
for(i=0;i<5;i++)
{
printf("请输入第%d个学生的4门课的成绩:",i+1);
for(j=0;j<4;j++)
{
scanf("%f",&score[i][j]);
sum[i]=sum[i]+score[i][j];
}
printf("第%d个学生的总成绩为%f.\n",i+1,sum[i]);
}
printf("\n\n");
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
subject[i]=score[j][i]+subject[i];
printf("第%d门课的总成绩为%f,平均成绩为%f\n\n",i+1,subject[i],subject[i]/4);
}
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
{
if(sum[i]>sum[j])
{
t=sum[i];
sum[i]=sum[j];
sum[j]=t;
}
}
printf("排序后的成绩为:");
for(i=0;i<5;i++)
printf("%.4f\t",sum[i]);
printf("\n");
}