c语言:程序的功能是按学生姓名查询其排名和平均成绩,查询可连续进行,直到输入0时结束
时间: 2024-03-02 09:50:15 浏览: 28
好的,我来给您写一个简单的程序。
```c
#include <stdio.h>
#include <string.h>
#define MAX_NUM 50 // 假设最多有50个学生
struct Student {
char name[20];
float score;
int rank;
};
int main() {
struct Student students[MAX_NUM];
int n = 0; // 学生数量
printf("请输入学生姓名和对应成绩(输入0结束):\n");
while (1) {
char name[20];
float score;
printf("姓名:");
scanf("%s", name);
if (strcmp(name, "0") == 0) {
break;
}
printf("成绩:");
scanf("%f", &score);
// 将学生信息保存到数组中
strcpy(students[n].name, name);
students[n].score = score;
n++;
}
// 计算排名
for (int i = 0; i < n; i++) {
int rank = 1;
for (int j = 0; j < n; j++) {
if (students[j].score > students[i].score) {
rank++;
}
}
students[i].rank = rank;
}
// 进行查询
while (1) {
printf("请输入要查询的学生姓名(输入0结束):\n");
char name[20];
scanf("%s", name);
if (strcmp(name, "0") == 0) {
break;
}
// 查找学生
int found = 0;
for (int i = 0; i < n; i++) {
if (strcmp(students[i].name, name) == 0) {
printf("%s的排名为%d,平均成绩为%.2f\n", students[i].name, students[i].rank, students[i].score);
found = 1;
break;
}
}
if (!found) {
printf("未找到该学生的信息!\n");
}
}
return 0;
}
```
这个程序定义了一个`Student`结构体,包含学生姓名、成绩和排名三个属性。首先从用户输入中读取学生信息,并将其保存到一个`students`数组中。然后根据成绩计算每个学生的排名。最后,程序进入查询循环,用户可以输入学生姓名进行查询,直到输入0结束。在每次查询中,程序查找学生姓名对应的学生,如果找到,则输出该学生的排名和平均成绩。如果未找到,则输出“未找到该学生的信息!”提示。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)