【C语言程序设计第四版】例9-2代码

#include <stdio.h>

struct student{
    int num;
    char name[40];
    int computer, english, math;
    double average;
};

int main(void){
    int i, index, j ,n;
    struct student students[50], temp;
    
    printf("Input n:");
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        printf("Input the info of No.%d:\n", i+1);
        printf("number:");
        scanf("%d", &students[i].num);
        printf("name:");
        scanf("%s", students[i].name);
        printf("math score:");
        scanf("%d", &students[i].math);
        printf("english score:");
        scanf("%d", &students[i].english);
        printf("computer socre:");
        scanf("%d", &students[i].computer);
        students[i].average = (students[i].math + students[i].english + students[i].computer) / 3.0;
    }
    
    for (i = 0; i<n-1; i++) {
        index = i;
        for (j = i+1; j<n; j++) {
            if (students[j].average > students[index].average) {
                index = j;
            }
        }
        temp=students[index];
        students[index] = students[i];
        students[i] = temp;
    }
    
    printf("num\tname\taverage\n");
    for (i = 0; i < n; i++) {
        printf("%d \t%s \t %.2lf\n",students[i].num, students[i].name, students[i].average);
    }
    return 0;
}

 

【C语言程序设计第四版】例9-2代码

上一篇:Python:递归算法(基础)


下一篇:C语言中动态内存分配的本质是什么?