c++编程:随机产生100个50~100之间的整数作为初始的学生成绩数据,接下来将所有成绩 由百分制改成等级制,对应的规则如下: <60不及格,>=60 and<70及格,>=70 and <80 中,>=80and<90良,>=90优秀,最后将转换后的结果保存到容器中或直接输出显示。
时间: 2024-02-25 14:57:45 浏览: 100
好的,下面是一个简单的实现,展示了如何生成100个50~100之间的随机整数,并将其转换为等级制:
```c++
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
using namespace std;
char convert_to_grade(int score) {
if (score < 60) {
return '不及格';
} else if (score < 70) {
return '及格';
} else if (score < 80) {
return '良';
} else {
return '优秀';
}
}
int main() {
srand(time(0)); // 初始化随机数种子
vector<int> scores; // 存储初始成绩
vector<char> grades; // 存储转换后的等级
// 生成100个50~100之间的随机整数
for (int i = 0; i < 100; i++) {
int score = rand() % 51 + 50; // 生成50~100之间的随机数
scores.push_back(score);
}
// 将所有成绩转换为等级制
for (int score : scores) {
char grade = convert_to_grade(score);
grades.push_back(grade);
}
// 输出转换后的结果
for (int i = 0; i < 100; i++) {
cout << "第" << i+1 << "个学生的成绩为:" << scores[i]
<< ",等级为:" << grades[i] << endl;
}
return 0;
}
```
在这个例子中,我们使用了rand()函数来生成50~100之间的随机整数。我们将这些随机整数存储在一个vector中,然后使用convert_to_grade()函数将它们转换为等级制,并将结果存储在另一个vector中。最后,我们遍历这两个vector,输出转换后的结果。
注意,由于本例中的成绩是随机生成的,因此每次运行程序的输出结果都会不同。
阅读全文