题目2:编写程序,进行学生某门课程成绩的分类统计从键盘输入-|||-每位学生的成
1个回答
关注
展开全部
您好,以下是Python程序示例,用于进行学生某门课程成绩的分类:
score_list = [] # 定义一个空列表用于存储成绩
while True:
score = input("请输入一位学生的成绩:(输入-1结束输入)")
if score == "-1":
break # 输入-1结束输入
else:
score = int(score)
score_list.append(score)
# 对成绩进行分类统计
excellent = # 优秀成绩(>=90)
good = # 良好成绩(80<=score<90)
ordinary = # 普通成绩(70<=score<80)
passing = # 及格成绩(60<=score<70)
fail = # 不及格成绩(<60)
for score in score_list:
if score >= 90:
excellent += 1
elif score >= 80:
good += 1
elif score >= 70:
ordinary += 1
elif score >= 60:
passing += 1
else:
fail += 1
咨询记录 · 回答于2023-12-29
题目2:编写程序,进行学生某门课程成绩的分类统计从键盘输入-|||-每位学生的成
# 定义一个空列表用于存储成绩
score_list = []
# 循环接收用户输入的学生成绩,直到输入-1为止
while True:
score = input("请输入一位学生的成绩:(输入-1结束输入)")
if score == "-1":
break # 输入-1结束输入
else:
score = int(score)
score_list.append(score)
# 对成绩进行分类统计
excellent = 0 # 优秀成绩(>=90)
good = 0 # 良好成绩(80<=score<90)
ordinary = 0 # 普通成绩(70<=score<80)
passing = 0 # 及格成绩(60<=score<70)
fail = 0 # 不及格成绩(= 90:
excellent += 1
elif score >= 80:
good += 1
elif score >= 70:
ordinary += 1
elif score >= 60:
passing += 1
else:
fail += 1
这段代码首先定义了一个空列表 `score_list`,用于存储用户输入的学生成绩。然后通过 `while` 循环不断接收用户输入的成绩,直到用户输入 `-1` 为止。接下来,使用 `for` 循环遍历 `score_list`,对每个成绩进行分类统计,最后得到优秀、良好、普通、及格和不及格的成绩数量。
excellent += 1
elif score >= 80:
good += 1
elif score >= 70:
ordinary += 1
elif score >= 60:
passing += 1
else:
fail += 1
# 输出分类统计结果
print("优秀成绩:{}人".format(excellent))
print("良好成绩:{}人".format(good))
print("普通成绩:{}人".format(ordinary))
print("及格成绩:{}人".format(passing))
print("不及格成绩:{}人".format(fail))
以下是Python程序示例,分别用for和while循环实现对sin的求和,直到最后一项绝对值小于10的负7次方:
使用for循环:
import math
x = float(input("请输入弧度值:"))
sin = x
n = 1
factorial = 1
while abs(sin) >= 10 ** -7:
sin += ((-1) ** n) * (x ** (2 * n + 1)) / factorial
n += 1
factorial *= (2 * n - 1) * (2 * n - 2)
print("sin({:.2f})的近似值为:{:.6f}".format(x, sin))
使用while循环:
import math
x = float(input("请输入弧度值:"))
sin = x
n = 1
flag = True
while flag:
term = ((-1) ** n) * (x ** (2 * n + 1)) / math.factorial(2 * n + 1)
if abs(term) < 10 ** -7:
flag = False
sin += term
n += 1
print("sin({:.2f})的近似值为:{:.6f}".format(x, sin))
import math
x = float(input("请输入弧度值:"))
sin = 0
n = 1
flag = True
while flag:
term = ((-1)**n) * (x**(2*n + 1)) / math.factorial(2*n + 1)
if abs(term) >= 10**-7:
sin += term
else:
flag = False
n += 1
print("sin({:.2f})的近似值为:{:.6f}".format(x, sin))
运行程序,输入弧度值x,程序将不断累加sin的值,直到最后一项绝对值小于10的负7次方。程序根据输入的弧度值和前面相加的项数来计算sin值并输出近似值。
C语言程序
题目二
#include
int main() {
char grade;
int total = 0, A = 0, B = 0, C = 0, D = 0, E = 0;
printf("请输入学生的成绩等级(A, B, C, D, E),以EOF结束:\n");
while ((grade = getchar()) != EOF) // 不断读取输入,直到输入结束
{
switch (grade)
{
case 'A':
case 'a': // 大小写均可以
A++;
total++;
break;
case 'B':
case 'b':
B++;
total++;
break;
case 'C':
case 'c':
C++;
total++;
break;
case 'D':
case 'd':
D++;
total++;
break;
case 'E':
case 'e':
E++;
total++;
break;
}
}
// 这里需要补充后续处理代码,例如打印结果等。
return 0;
break;
case 'B':
case 'b':
B++;
total++;
break;
case 'C':
case 'c':
C++;
total++;
break;
case 'D':
case 'd':
D++;
total++;
break;
case 'E':
case 'e':
E++;
total++;
break;
default: // 如果输入的不是 A、B、C、D
default: // 如果输入的不是 A、B、C、D、E 中的某一个,忽略不计
break;
printf("总人数:%d,其中:\n", total);
printf("成绩等级为 A 的人数:%d", A);
printf("成绩等级为 B 的人数:%d", B);
printf("成绩等级为 C 的人数:%d", C);
printf("成绩等级为 D 的人数:%d", D);
printf("成绩等级为 E 的人数:%d", E);
return;
以上哈