#include<stdio.h> #include<string.h>

#define MAX_STUDENT 100 // 学生数量的最大值

typedef struct student{ char name[20]; // 学生姓名 int score; // 学生成绩 } Student;

int main(){ int n; // 学生数量 Student students[MAX_STUDENT]; // 学生数组 int i, j, sum = 0, avg; // 循环变量、总分、平均分 int rank[MAX_STUDENT]; // 排名数组 memset(rank, 0, sizeof(rank)); // 将排名数组初始化为0

printf("请输入学生数量:");
scanf("%d", &n);

for(i = 0; i < n; i++){
    printf("请输入第%d个学生的姓名和成绩:", i+1);
    scanf("%s%d", students[i].name, &students[i].score);
    sum += students[i].score; // 累加总分
}

avg = sum / n; // 计算平均分

// 计算排名
for(i = 0; i < n; i++){
    for(j = 0; j < n; j++){
        if(students[j].score > students[i].score){
            rank[i]++;
        }
    }
}

printf("学生排名如下:\n");
printf("排名\t姓名\t成绩\n");
for(i = 0; i < n; i++){
    printf("%d\t%s\t%d\n", rank[i]+1, students[i].name, students[i].score);
}

printf("平均分为:%d\n", avg);

return 0;
C语言写一个成绩排行平均分

原文地址: https://www.cveoy.top/t/topic/f6yM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录