用C写校优秀十大青年评比的程序
时间: 2024-05-10 20:15:25 浏览: 190
第九章_校园十大优秀青年评比问题_Outstanding!_chooseold_十大青年_校园十大优秀青年评比问题_
5星 · 资源好评率100%
以下是一个简单的校优秀十大青年评比程序的C语言代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_CANDIDATES 10
#define MAX_NAME_LENGTH 50
struct Candidate {
char name[MAX_NAME_LENGTH];
int age;
char major[MAX_NAME_LENGTH];
int score;
};
int main() {
struct Candidate candidates[MAX_CANDIDATES];
int num_candidates = 0;
// 读取候选人信息
while (num_candidates < MAX_CANDIDATES) {
struct Candidate candidate;
printf("请输入第%d位候选人的姓名:", num_candidates + 1);
scanf("%s", candidate.name);
if (strcmp(candidate.name, "结束") == 0) {
break;
}
printf("请输入第%d位候选人的年龄:", num_candidates + 1);
scanf("%d", &candidate.age);
printf("请输入第%d位候选人的专业:", num_candidates + 1);
scanf("%s", candidate.major);
printf("请输入第%d位候选人的得分:", num_candidates + 1);
scanf("%d", &candidate.score);
candidates[num_candidates++] = candidate;
}
// 按得分排序
for (int i = 0; i < num_candidates - 1; i++) {
for (int j = i + 1; j < num_candidates; j++) {
if (candidates[i].score < candidates[j].score) {
struct Candidate temp = candidates[i];
candidates[i] = candidates[j];
candidates[j] = temp;
}
}
}
// 输出前十名
printf("\n前十名优秀青年:\n");
for (int i = 0; i < num_candidates && i < 10; i++) {
printf("%d. %s(年龄:%d,专业:%s,得分:%d)\n", i + 1,
candidates[i].name, candidates[i].age,
candidates[i].major, candidates[i].score);
}
return 0;
}
```
这个程序使用结构体来存储候选人的信息,包括姓名、年龄、专业和得分。它首先读取候选人信息,然后按得分排序,并输出前十名优秀青年的信息。请注意,这个程序假设候选人的姓名和专业不超过50个字符,最多有10位候选人。您可以根据需要进行更改。
阅读全文