数组综合编程题(1):统计学生成绩。某班有30人,每人学4门课,求每个人的总分和平均分。要求编3个函数:①输入成绩函数input()。②计算每人的总分及各课平均分函数process()。③输出该班同学每人各课成绩、总成绩和各课平均分函数output()。

#include<stdio.h>
void input(struct MyStruct*pt);
void process(struct MyStruct*pt);
void output(struct MyStruct*pt);
#define NUMBER 30
    
struct MyStruct
{
        double course_1;
        double course_2;
        double course_3;
        double course_4;
        double sum;
    
}student[NUMBER] = { 0 };
double course_1_average = 0, course_2_average = 0, course_3_average = 0, course_4_average = 0;

int main(void)
{
    input(student);
    process(student);
    output(student);

    return 0;
}

void input(struct MyStruct *pt)
{
    for (int i = 0; i < NUMBER; i++)
    {
        scanf("%lf%lf%lf%lf",&pt[i].course_1 , &pt[i].course_2, &pt[i].course_3, &pt[i].course_4);
    }
}

void process(struct MyStruct*pt)
{
    for (int i = 0; i < NUMBER; i++)
    {
        pt[i].sum += pt[i].course_1 + pt[i].course_2 + pt[i].course_3 + pt[i].course_4;
        course_1_average += pt[i].course_1;
        course_2_average += pt[i].course_2;
        course_3_average += pt[i].course_3;
        course_4_average += pt[i].course_4;
    }
    course_1_average /= NUMBER;
    course_2_average /= NUMBER;
    course_3_average /= NUMBER;
    course_4_average /= NUMBER;
}

void output(struct MyStruct*pt)
{
    printf("Student  course1  course2  course3  course4  sum      ");
    for (int i = 0; i < NUMBER; i++)
        printf("%-9d%-9g%-9g%-9g%-9g%-9g\n", i, pt[i].course_1, pt[i].course_2, pt[i].course_3, pt[i].course_4,pt[i].sum);
    printf("Average  %-9g%-9g%-9g%-9g", course_1_average, course_2_average, course_3_average, course_4_average);
}

 

说点什么

avatar

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

  Subscribe  
提醒