第一行输入一个正整数N(N <= 100),表示学生人数。接着输入N行,每行格式如下: 分数 姓名 分数是一个非负整数,且小于等于100; 姓名为一个连续的字符串,中间没有空格,长度不超过20。 数据保证最高分只有一位同学。 输出 获得最高分数同学的姓名。用C语言代码
时间: 2023-12-03 10:45:19 浏览: 38
以下是一个简单的实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
int n, max_score = -1;
char name[21], max_name[21];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
int score;
scanf("%d %s", &score, name);
if (score > max_score) {
max_score = score;
strcpy(max_name, name);
}
}
printf("%s\n", max_name);
return 0;
}
```
首先读入学生人数N,然后使用一个循环读入每个学生的分数和姓名。在读入每个学生的信息时,检查该学生的分数是否比当前最高分数高,如果是则更新最高分数和最高分数同学的姓名。最后输出最高分数同学的姓名即可。
相关问题
Python 输入学生的人数,然后再输入每位学生的分数和姓名,求获得最高分数的学生的姓名。 输入格式: 第一行输入一个正整数N(N <= 100),表示学生人数。接着输入N行,每行格式如下: 分数 姓名 分数是一个非负整数,且小于等于100; 姓名为一个连续的字符串,中间没有空格,长度不超过20。 输出格式: 输出最高分数的学生姓名。每行包含一个姓名。
您好,根据您的要求,我可以给出以下 Python 代码实现:
```python
n = int(input()) # 输入学生人数
max_score = -1 # 初始化最高分为-1
max_name = None # 初始化最高分学生姓名为None
for i in range(n):
score, name = input().split() # 输入学生分数和姓名
score = int(score)
if score > max_score: # 如果该学生分数比当前最高分高
max_score = score
max_name = name # 更新最高分学生姓名
print(max_name) # 输出最高分学生姓名
```
您可以直接复制以上代码到 Python 环境中运行,输入符合要求的数据以查看最高分学生姓名的输出结果。希望以上回答对您有所帮助!
第一行输入一个正整数N(N <= 100),表示学生人数。接着输入N行,每行格式如下: 分数 姓名 分数是一个非负整数,且小于等于100; 姓名为一个连续的字符串,中间没有空格,长度不超过20。 数据保证最高分只有一位同学。 输出 获得最高分数同学的姓名。
以下是一个可能的Python代码实现。假设输入的学生信息存储在一个名为students的列表中:
```python
# 获取学生人数
n = int(input())
# 初始化最高分数和最高分数学生姓名
max_score = -1
max_score_name = ""
# 遍历每个学生
for i in range(n):
# 获取该学生信息
score, name = input().split()
score = int(score)
# 如果该学生分数比当前最高分数高,则更新最高分数和最高分数学生姓名
if score > max_score:
max_score = score
max_score_name = name
# 输出最高分数学生姓名
print(max_score_name)
```
需要注意的是,输入的学生信息中可能包含空格,因此需要使用`input().split()`方法来获取分数和姓名。另外,为了方便比较最高分数,可以将最高分数初始值设为-1。
阅读全文