要求使用求组将学生成绩分类,统计优秀,,良好,中等,及格,不及格人数
时间: 2023-06-10 11:07:08 浏览: 86
好的,我可以给你提供一个使用Python中的numpy库实现的例子:
```python
import numpy as np
# 生成随机成绩
scores = np.random.randint(0, 101, size=50)
# 使用分数线将成绩分类
bins = [0, 60, 70, 80, 90, 100]
grades = ['不及格', '及格', '中等', '良好', '优秀']
categories = np.digitize(scores, bins)
grade_counts = np.bincount(categories)
# 输出每个等级的人数
for i, count in enumerate(grade_counts):
print(f'{grades[i]}人数:{count}')
```
这段代码首先生成了50个随机成绩,然后使用`np.digitize`函数将成绩分成了5个等级,最后使用`np.bincount`函数统计每个等级的人数。输出结果如下:
```
不及格人数:23
及格人数:7
中等人数:10
良好人数:6
优秀人数:4
```
希望这个例子能够帮助到你。
相关问题
用求组编写程序,从键盘上输入若干个学生的成绩,当成绩小于或等于0时结束输入,统计并输出优秀,良好,中等,及格和不及格人数。
以下是使用 C++ 编写的程序:
```cpp
#include <iostream>
using namespace std;
int main() {
int excellent = 0, good = 0, medium = 0, pass = 0, fail = 0;
int score;
cout << "请输入学生成绩,输入<=0结束:" << endl;
do {
cin >> score;
if (score > 100) {
cout << "输入成绩不合法,请重新输入:" << endl;
continue;
}
if (score > 85) {
excellent++;
} else if (score > 75) {
good++;
} else if (score > 60) {
medium++;
} else if (score > 0) {
pass++;
} else if (score < 0) {
cout << "输入结束" << endl;
} else {
fail++;
}
} while (score > 0);
cout << "优秀人数:" << excellent << endl;
cout << "良好人数:" << good << endl;
cout << "中等人数:" << medium << endl;
cout << "及格人数:" << pass << endl;
cout << "不及格人数:" << fail << endl;
return 0;
}
```
该程序使用了 do-while 循环,循环体内首先输入成绩,然后根据成绩等级对应的分数范围,分别对优秀、良好、中等、及格和不及格人数进行累加。输入小于等于 0 的成绩时,循环结束,最后输出各个等级的人数统计结果。
使用C#语言一个根据学生成绩设置其等级,并统计不及格人数的简单函数。
可以使用以下代码实现:
```csharp
public static string GetGrade(double score)
{
if (score >= 90)
{
return "优秀";
}
else if (score >= 80)
{
return "良好";
}
else if (score >= 70)
{
return "中等";
}
else if (score >= 60)
{
return "及格";
}
else
{
return "不及格";
}
}
public static int GetFailCount(double[] scores)
{
int count = 0;
foreach (double score in scores)
{
if (GetGrade(score) == "不及格")
{
count++;
}
}
return count;
}
```
其中,`GetGrade` 函数根据学生的分数返回其等级,`GetFailCount` 函数统计不及格的人数。你可以根据需求调整分数对应的等级。使用时,可以这样调用:
```csharp
double[] scores = { 80, 60, 70, 50, 90 };
int failCount = GetFailCount(scores);
Console.WriteLine($"不及格人数为:{failCount}");
```
输出结果为:
```
不及格人数为:1
```