在一次考试中,每个学生的成绩都不相同,现知道了 n 个学生的学号和成绩,求考第 k 名学生的学号和成绩。 #include<bits/stdc++.h> using namespace std; int main() { int n,k; cin>>n>>k; long long a[100]; long double b[100]; for(int i=0;i<n;i++){ cin>>a[i]>>b[i]; } for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ if(b[i]<b[j]){ swap(b[i],b[j]); swap(a[i],a[j]); } } } cout<<a[k]<<" "<<b[k]; return 0; }
时间: 2023-07-31 20:09:43 浏览: 229
你的代码基本上是正确的,可以用来求第 k 名学生的学号和成绩。但是,你需要注意以下几点:
1. 数组的大小应该根据输入的 n 进行设置,而不是固定为 100。你可以使用动态数组或者使用 std::vector 来避免固定数组大小的限制。
2. 输入的成绩应该使用浮点数类型来接收,而不是使用 long double 类型。可以使用 double 类型来存储成绩。
3. 在输出第 k 名学生的学号和成绩之前,需要进行边界检查,确保 k 的值在有效范围内,即 1 到 n 之间。
根据上述修改,你的代码应该像这样:
```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, k;
cin >> n >> k;
vector<long long> a(n);
vector<double> b(n);
for(int i = 0; i < n; i++) {
cin >> a[i] >> b[i];
}
for(int i = 0; i < n; i++) {
for(int j = i + 1; j < n; j++) {
if(b[i] < b[j]) {
swap(b[i], b[j]);
swap(a[i], a[j]);
}
}
}
if(k >= 1 && k <= n) {
cout << a[k-1] << " " << b[k-1];
} else {
cout << "Invalid value of k";
}
return 0;
}
```
这样修改后的代码应该能够正常输出第 k 名学生的学号和成绩,同时也会对 k 的范围进行了检查。希望能帮到你!如果还有其他问题,请随时提问。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)