输入成绩区间通常需要按照特定的格式来进行。以下是一些常见的方法和样例:
输入格式:
首先输入成绩的条数。
然后逐行输入每门课程的成绩,成绩之间用空格隔开。
最后输入要查询的成绩区间,区间用逗号隔开,例如:`【m,n】`。
输出格式:
输出查询成绩区间内的最高排名和最低排名。
示例
输入样例
```
10
75 82 67 88 90 56 43 95 70 32
60 75
```
输出样例
```
2 7
```
解决方法
算法基本思想:
通过结构体数组来存储学生的信息。
根据成绩进行降序排序。
排序后的下标+1即为排名。
在给定区间范围内查找最大值和最小值。
代码实现(C++):
```cpp
include include include using namespace std; struct Student { int score; int index; }; bool compare(const Student &a, const Student &b) { return a.score > b.score; } int main() { int n; cout << "输入成绩的条数: "; cin >> n; vector for (int i = 0; i < n; ++i) { cout << "输入第 " << i + 1 << " 个成绩: "; cin >> students[i].score; students[i].index = i + 1; } sort(students.begin(), students.end(), compare); int m, n; cout << "输入要查询的成绩区间【m,n】: "; cin >> m >> n; int min_rank = n, max_rank = 1; for (int i = 0; i < n; ++i) { if (students[i].score >= m && students[i].score <= n) { if (students[i].index < min_rank) { min_rank = students[i].index; } if (students[i].index > max_rank) { max_rank = students[i].index; } } } cout << "最高排名: " << max_rank << ", 最低排名: " << min_rank << endl; return 0; } ``` 其他相关示例 五级制成绩转百分制成绩区间 ```cpp include using namespace std; int main() { char grade; cout << "请输入五级制成绩(A~E): "; cin >> grade; switch (grade) { case 'A': cout << "A对应的百分制成绩区间是90~100" << endl; break; case 'B': cout << "B对应的百分制成绩区间是80~89" << endl; break; case 'C': cout << "C对应的百分制成绩区间是70~79" << endl; break; case 'D': cout << "D对应的百分制成绩区间是60~69" << endl; break; case 'E': cout << "E对应的百分制成绩区间是0~59" << endl; break; default: cout << "输入错误,请输入A~E" << endl; break; } return 0; } ``` 判断成绩等级