用C语言写一串学生成绩管理系统的程序,要求系统可以计算排序学生的总成绩
时间: 2023-12-10 12:02:57 浏览: 23
以下是用C语言写的一个学生成绩管理系统程序,可以计算排序学生的总成绩:
```c
#include <stdio.h>
#define MAX_STUDENT_NUM 100 // 学生数量上限
struct Student {
char name[20]; // 学生姓名
int id; // 学生学号
float score; // 学生成绩
float total_score; // 学生总成绩
};
int main() {
struct Student students[MAX_STUDENT_NUM]; // 存储学生信息的数组
int i, j, n; // 循环变量和学生数量
printf("请输入学生数量(1~%d):", MAX_STUDENT_NUM);
scanf("%d", &n);
// 循环读入学生信息
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名:", i + 1);
scanf("%s", students[i].name);
printf("请输入第%d个学生的学号:", i + 1);
scanf("%d", &students[i].id);
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%f", &students[i].score);
students[i].total_score = students[i].score; // 初始化学生总成绩
}
// 计算学生总成绩
for (_VALUE_0:
LED_PORT = 0x3F; // 数码管显示0
break;
case KEY_VALUE_POUND:
LED_PORT = 0x00; // 数码管不显示
break;
case KEY_VALUE_D:
LED_PORT = 0x00; // 数码管不显示
break;
}
}
```
该代码实现了4×4矩阵键盘的扫描和数码管的显示。在扫描键盘时,先将低四位置0,然后读取高四位的值,如果有按键按下,再次读取高四位的值,判断第几列和第几行,得到键值。在显示键值时,根据键值选择相应的数码管显示。