C语言写一个成绩排行平均分
#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;
原文地址: https://www.cveoy.top/t/topic/f6yM 著作权归作者所有。请勿转载和采集!