1147:最高分数的学生姓名 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 28802 通过数: 20921 【题目描述】 输入学生的人数,然后再输入每位学生的分数和姓名,求获得最高分数的学生的姓名。 【输入】 第一行输入一个正整数N(N <= 100),表示学生人数。接着输入N行,每行格式如下: 分数 姓名 分数是一个非负整数,且小于等于100; 姓名为一个连续的字符串,中间没有空格,长度不超过20。 数据保证最高分只有一位同学。 【输出】 获得最高分数同学的姓名。使用c++编写
时间: 2024-02-15 10:03:30 浏览: 30
好的,这里提供一个使用 C++ 编写的程序:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
int n, max_score = 0;
string max_name;
cin >> n;
for (int i = 0; i < n; i++) {
int score;
string name;
cin >> score >> name;
if (score > max_score) {
max_score = score;
max_name = name;
}
}
cout << max_name << endl;
return 0;
}
```
这个程序首先读入学生人数 `n`,然后使用一个循环逐个读入每个学生的分数和姓名,使用变量 `max_score` 和 `max_name` 记录当前最高分数和最高分数的学生姓名。在循环中,如果当前分数比最高分数高,就更新最高分数和最高分数的学生姓名。最后,输出获得最高分数的学生的姓名。
需要注意的是,C++ 中的字符串类型是 `string`,可以使用 `cin` 直接读入。同时,C++ 中的输出语句是 `cout`,需要在输出后手动添加换行符 `endl`。
相关问题
1147:最高分数的学生姓名 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 28802 通过数: 20921 【题目描述】 输入学生的人数,然后再输入每位学生的分数和姓名,求获得最高分数的学生的姓名。 【输入】 第一行输入一个正整数N(N <= 100),表示学生人数。接着输入N行,每行格式如下: 分数 姓名 分数是一个非负整数,且小于等于100; 姓名为一个连续的字符串,中间没有空格,长度不超过20。 数据保证最高分只有一位同学。 【输出】 获得最高分数同学的姓名。
好的,根据您提供的信息,以下是可能的解法之一,使用 Python 语言编写:
```python
n = int(input()) # 学生人数
max_score = 0 # 最高分数
max_name = "" # 最高分数的学生姓名
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) # 输出获得最高分数的学生的姓名
```
这个程序首先读入学生人数 `n`,然后使用一个循环逐个读入每个学生的分数和姓名。在循环中,将读入的分数转换成整数类型,然后判断是否比当前最高分数高,如果是,则更新最高分数和最高分数的学生姓名。最后,输出获得最高分数的学生的姓名。
注意,这个程序假设最高分数只有一位同学,如果有多位同学获得了最高分数,那么只会输出最后一位同学的姓名。如果需要输出所有获得最高分数的同学的姓名,可以稍微修改一下程序。
逆序打印。题目描述 题目内容:输入一个三位的正整数,按逆序打印出该数的各位数字。输入样例:369 输出样例:963 输入样例:680 输出样例:086 测试用例 用例1 分数: 10 错误提示: 用例2 分数: 10 错误提示: 题目运行时间限制: 500ms 题目运行内存限制: 32000kb
题目描述:
输入一个三位的正整数,按逆序打印出该数的各位数字。
输入样例:
369
输出样例:
963
输入样例:
680
输出样例:
086
解题思路:
将输入的三位数分别取出个位、十位和百位,然后按照百位、十位、个位的顺序输出即可。
代码实现:
num = int(input())
a = num // 100
b = num // 10 % 10
c = num % 10
print(c, b, a, sep='')
阅读全文