1 条题解
-
0
数据范围
对于 的数据有
数组中的每个元素 满足
可以看出,数据在
int
范围内,并且数组只需要开 大小即可( 大于 即可,不要太大)。int arr[110];
第一行输入一个整数 ,表示数组的大小。
第二行输入 个整数,表示数组 中的元素。
第三行输入一个整数 。
注意 是在输入完数组数据之后再输入进来
int n, k; cin >> n; for (int i = 1; i <= n; i++) cin >> arr[i]; cin >> k;
请你找到数组中所有大于 的数字中,下标最大的那个数。如果找到了,请输出这个数。
因为是找大于
下标最大
的那个数字,所以其实倒序遍历一遍就可以,只要 ,就输出 ,注意只需要输出最大的即可,所以输出完,return 0
停止整个程序,这是一个小技巧,应该掌握。for (int i = n; i >= 1; i--) { if (arr[i] > k) { cout << arr[i]; return 0; } }
小T想知道班里到底有多少人分数比他高以确定自己在班上的排名(如果分数相同,小T排第一)。
可以看出只需要遍历一遍数组,统计分数比小T高的人数即可,统计人数记得初始化变量为
int cnt = 0; for (int i = 1; i <= n; i++) { if (arr[i] > arr[t]) { cnt++; } }
如果没有找到,输出 。
因为前面在遍历的过程中,如果找到了,就会
return 0
提前停止程序,如果没有停止也就意味着找不到满足要求的数字,直接输出 即可,cout << -1;
- 1
信息
- ID
- 1222
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 6
- 已通过
- 4
- 上传者