编程输入成绩区间怎么写

时间:2025-01-23 06:30:19 游戏攻略

输入成绩区间通常需要按照特定的格式来进行。以下是一些常见的方法和样例:

输入格式:

首先输入成绩的条数。

然后逐行输入每门课程的成绩,成绩之间用空格隔开。

最后输入要查询的成绩区间,区间用逗号隔开,例如:`【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 students(n);

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;

}

```

判断成绩等级