第一行输入一个正整数N(N <= 100),表示学生人数。接着输入N行,每行格式如下: 分数 姓名 分数是一个非负整数,且小于等于100; 姓名为一个连续的字符串,中间没有空格,长度不超过20。 数据保证最高分只有一位同学。 输出 获得最高分数同学的姓名。用C语言代码
时间: 2023-12-03 21:45:17 浏览: 81
```c
#include <stdio.h>
#include <string.h>
#define MAX_SCORE 100
#define MAX_NAME_LEN 20
int main(){
int n, max_score = -1;
char max_name[MAX_NAME_LEN + 1];
scanf("%d", &n);
for(int i = 0; i < n; i++){
int score;
char name[MAX_NAME_LEN + 1];
scanf("%d %s", &score, name);
if(score > max_score){
max_score = score;
strcpy(max_name, name);
}
}
printf("%s\n", max_name);
return 0;
}
```
相关问题
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。
阅读全文