生成一个C语言版本的校园十大优秀青年评选程序
时间: 2024-03-10 10:45:51 浏览: 13
以下是一个简单的 C 语言版本的校园十大优秀青年评选程序,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT 100
#define MAX_NAME 20
typedef struct {
char name[MAX_NAME];
int score;
} Student;
int compare(const void *a, const void *b) {
Student *s1 = (Student *) a;
Student *s2 = (Student *) b;
return s2->score - s1->score;
}
int main() {
Student students[MAX_STUDENT];
int n;
printf("请输入评选人数:");
scanf("%d", &n);
if (n > MAX_STUDENT) {
printf("评选人数超过最大限制!\n");
return 1;
}
for (int i = 0; i < n; i++) {
printf("请输入第 %d 位候选人的姓名:", i + 1);
scanf("%s", students[i].name);
students[i].score = 0;
}
printf("请输入评分,每个人的评分范围为 0-100 分:\n");
for (int i = 0; i < n; i++) {
printf("请输入第 %d 位候选人的得分:", i + 1);
scanf("%d", &students[i].score);
}
qsort(students, n, sizeof(Student), compare);
printf("评选结果如下:\n");
for (int i = 0; i < n; i++) {
printf("%d. %s(得分:%d 分)\n", i + 1, students[i].name, students[i].score);
}
return 0;
}
```
程序中使用了结构体来存储每位候选人的姓名和得分,使用 `qsort` 函数对得分进行排序,最后输出排名结果。注意,该程序仅为简单示例,实际的评选程序可能会更加复杂。