1、掌握结构体类型变量的定义和使用方法;2、掌握结构体类型数组的概念和使用方法;根据实验题目,自行设计结构体类型的C语言程序。

  1. 编写程序:有三个学生,每个学生的数据包括学号、姓名、两门课的成绩。

 ●编程要求:

  (1)从键盘输入三个学生的各项数据;

  (2)要求打印出每个学生的平均成绩,以及平均分最高的学生的各项数据(包括

     学号、姓名、两门课成绩、平均分)。

  1. 编写一个函数print(),用来打印一个学生的成绩数组,该数组中有3个学

   生的数据记录,每个记录包括num、name、score[3],在主函数中输入这些

   记录,用print()函数输出这些记录。

 ●编程提示:先定义一个包含有三个成员项的结构体数组,在主函数中利用循

   环依次输入数据,并调用函数print()完成输出数据的功能。  

程序代码或实现过程:

#include

#include

struct Student {

    char num[20];

    char name[20];

    float score[2];

};

void print(struct Student student[]) {

    int i, j;

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

        printf("学号:%s\n", student[i].num);

        printf("姓名:%s\n", student[i].name);

        printf("成绩:");

        for (j = 0; j < 2; j++) {

            printf("%.2f ", student[i].score[j]);

        }

        printf("\n\n");

    }

}

int main() {

    struct Student student[3];

    float average[3] = {0};

    float maxAverage;

    int maxIndex;

    int i, j;

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

        printf("请输入第 %d 个学生的学号:", i + 1);

        scanf("%s", student[i].num);

        printf("请输入第 %d 个学生的姓名:", i + 1);

        scanf("%s", student[i].name);

        printf("请输入第 %d 个学生的两门课成绩:", i + 1);

        for (j = 0; j < 2; j++) {

            scanf("%f", &student[i].score[j]);

            average[i] += student[i].score[j];

        }

        average[i] /= 2;

        printf("\n");

    } 

    printf("每个学生的平均成绩:\n");

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

        printf("学号:%s, 平均成绩:%.2f\n", student[i].num, average[i]);

    }

    maxAverage = average[0];

    maxIndex = 0;

    for (i = 1; i < 3; i++) {

        if (average[i] > maxAverage) {

            maxAverage = average[i];

            maxIndex = i;

        }

    }

    printf("\n平均分最高的学生:\n");

    printf("学号:%s\n", student[maxIndex].num);

    printf("姓名:%s\n", student[maxIndex].name);

    printf("成绩:");

    for (j = 0; j < 2; j++) {

        printf("%.2f ", student[maxIndex].score[j]);

    }

    printf("\n平均分:%.2f\n", maxAverage);

    return 0;

}

2、#include

struct Student {

    int num;

    char name[20];

    float score[3];

};

void print(struct Student student) {

    printf("学号:%d\n", student.num);

    printf("姓名:%s\n", student.name);

    printf("成绩:%.2f %.2f %.2f\n", student.score[0], student.score[1], student.score[2]);

    printf("\n");

}

int main() {

    struct Student students[3];

    int i, j;

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

        printf("请输入第 %d 个学生的学号:", i + 1);

        scanf("%d", &students[i].num);

        printf("请输入第 %d 个学生的姓名:", i + 1);

        scanf("%s", students[i].name);

        printf("请输入第 %d 个学生的三门课成绩:", i + 1);

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

            scanf("%f", &students[i].score[j]);

        }

        printf("\n");

    }

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

        print(students[i]);

    }

    return 0;

}

1、掌握结构体类型变量的定义和使用方法;2、掌握结构体类型数组的概念和使用方法;根据实验题目,自行设计结构体类型的C语言程序。_第1张图片

1、掌握结构体类型变量的定义和使用方法;2、掌握结构体类型数组的概念和使用方法;根据实验题目,自行设计结构体类型的C语言程序。_第2张图片

你可能感兴趣的:(c语言,开发语言)