#include <stdio.h>
float Aver_stu(int (*score)[5]);
float Aver_class(int (*score)[5]);
void print(int score[2][5], float aver_stu, float aver_class);
int main(int argc, char const *argv[])
{
int score[2][5] = {0};
float aver_stu = 0, aver_class = 0;
printf("请输入学生的成绩!");
for (int i = 0; i < 2; i++)
{
printf("NO. %d ", i + 1);
for (int j = 0; j < 5; j++)
{
scanf("%d", &score[i][j]);
}
}
// 输出学生的成绩,打印出来
printf("学生序号\t语文\t数学\t英语\t物理\t化学");
for (int i = 0; i < 2; i++) //注意打印输出制表时,要注意格式对齐
{
printf(" NO.%d ", i + 1);
for (int j = 0; j < 5; j++)
{
printf("%8d", score[i][j]);
}
printf("
");
}
//计算学生的各科加起来的总分,以及学生的平均分
//计算每个科目所有学生的总分,以及每个科目的平均分
aver_stu = Aver_stu(score);
aver_class = Aver_class(score);
printf("学生平均分: %.1f", aver_stu);
printf("科目平均分: %.1f", aver_class);
return 0;
}
//定义一个Aver_stu函数来计算学生的单人各科平均分
float Aver_stu(int (*score)[5])
{
int i = 0, j = 0;
int sum = 0;
float aver_stu = 0;
for (i = 0; i < 2; i++)
{
for (j = 0; j < 5; j++)
{
sum += score[i][j];
}
}
aver_stu = sum / (2 * 5);
return aver_stu;
}
//定义一个函数Aver_class函数来计算各科的平均分
float Aver_class(int (*score)[5])
{
int i = 0, j = 0;
int sum = 0;
float aver_class = 0;
for (j = 0; j < 5; j++)
{
for (i = 0; i < 2; i++)
{
sum += score[i][j];
}
}
aver_class = sum / (2 * 5);
return aver_class;
}
//定义一个打印所有数据的函数print
void print(int score[2][5], float aver_stu, float aver_class)
{
int i = 0, j = 0;
printf("统计结果");
printf("学生序号\t语文\t数学\t英语\t物理\t化学\t平均分");
for (int i = 0; i < 2; i++) //注意打印输出制表时,要注意格式对齐
{
printf(" NO.%d ", i + 1);
for (int j = 0; j < 5; j++)
{
printf("%8d", score[i][j]);
}
printf("%8.1f", aver_stu);
printf("");
}
printf("单科平均分:");
for (j = 0; j < 5; j++)
{
printf("%8.1f\t", aver_class);
}
printf("");
}
对于新手来说,在写代码的过程中最重要的就是思路,即逻辑思维。那在这段代码中,我们可以在写代码的过程中将
这段代码的主要目的是计算和打印两个学生的五门科目成绩的总分、平均分,以及每门科目的平均分。具体来说:
输入两个学生的五门科目成绩(语文、数学、英语、物理、化学)。
输出每个学生的成绩。
计算每个学生的总分和平均分,并输出。
计算每门科目所有学生的总分和平均分,并输出。