阅读下面程序,只能输入三个成绩,如依次输入:78,90,67,输出结果:“共输入了3个人的成绩,他们的平均成绩是78.33”。 num=input("请输入学生成绩:") ls=[] sum=0 while num!='': ls.append(num) sum=sum+eval(num) num=input("请输入学生成绩:") n=len(ls) print('共输入了{}个人的成绩,他们的平均成绩是{:.2f}'.format(n,sum/n))
时间: 2023-04-11 17:01:46 浏览: 440
答案:程序有误,应该将sum=sum eval(num)改为sum=sum+eval(num)。修改后的程序如下:
num=input("请输入学生成绩:")
ls=[]
sum=0
while num!='':
ls.append(num)
sum=sum+eval(num)
num=input("请输入学生成绩:")
n=len(ls)
print('共输入了{}个人的成绩,他们的平均成绩是{:.2f}'.format(n,sum/n))
相关问题
描述:编写程序,从键盘输入语文、数学、英语三门功课的成绩,计算并输出平均成绩,要 求平均成绩保留 1 位小数。 要求:输出时,采用格式输出方式控制小数点位数。 输入格式:依次输入三个数字作为三门功课成绩。 输出格式:输出三门功课的平均成绩,结果保留 1 位小数。
好的,这是一个简单的计算平均数的程序。您可以按照以下方式进行编写:
```python
# 获取用户输入的三门功课成绩
chinese = float(input("请输入语文成绩:"))
math = float(input("请输入数学成绩:"))
english = float(input("请输入英语成绩:"))
# 计算平均成绩
average = (chinese + math + english) / 3
# 输出结果
print("三门功课的平均成绩为:{:.1f}".format(average))
```
在这个程序中,我们首先使用 `input` 函数获取用户输入的三门功课成绩,并将其转换为浮点数类型。然后,我们计算这三门功课的平均成绩,并使用字符串格式化函数 `format` 将结果输出到屏幕上,保留一位小数。
注意:在使用 `input` 函数获取用户输入时,需要进行类型转换,否则默认输入的是字符串类型,会影响后面的计算。
c语言设计一个程序统计某个班全体学生3门课的考试成绩。要求能输入学生人数,并按编号从小到大的顺序依次输入学生的成绩,再统计出每门课程的全班总分、平均分及每个考生所有考试的总分和平均分。 输入格式: 第一行输入学生人数,从第二行开始按相同的课程顺序依次输入学生每门课的成绩,分数为单精度数。 输出格式: 首先分行输出每个学生的总分及平均分,然后在输出全班每门课的总分及平均分。 输入样例: 在这里给出一组输入。例如: 3 67 67 67 78 78 78 90 90 90 输出样例: 在这里给出相应的输出。例如: 第0个学生总分201.0 平均分为67.0 第1个学生总分234.0 平均分为78.0 第2个学生总分270.0 平均分为90.0 第0门课全班总分235.0 平均分为78.3 第1门课全班总分235.0 平均分为78.3 第2门课全班总分235.0 平均分为78.3
以下是 C 语言程序实现:
```c
#include <stdio.h>
int main()
{
int n, i, j;
float score[100][3]; // 用二维数组存储每个学生的三门成绩
float stu_sum[100] = {0}; // 存储每个学生的总分
float stu_avg[100] = {0}; // 存储每个学生的平均分
float sub_sum[3] = {0}; // 存储每门课的总分
float sub_avg[3] = {0}; // 存储每门课的平均分
printf("请输入学生人数:");
scanf("%d", &n);
// 输入每个学生的三门成绩
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的成绩:", i);
for (j = 0; j < 3; j++) {
scanf("%f", &score[i][j]);
stu_sum[i] += score[i][j]; // 统计每个学生的总分
sub_sum[j] += score[i][j]; // 统计每门课的总分
}
stu_avg[i] = stu_sum[i] / 3; // 计算每个学生的平均分
}
// 输出每个学生的总分和平均分
for (i = 0; i < n; i++) {
printf("第%d个学生总分%.1f 平均分为%.1f\n", i, stu_sum[i], stu_avg[i]);
}
// 计算每门课的平均分
for (j = 0; j < 3; j++) {
sub_avg[j] = sub_sum[j] / n;
}
// 输出每门课的总分和平均分
for (j = 0; j < 3; j++) {
printf("第%d门课全班总分%.1f 平均分为%.1f\n", j, sub_sum[j], sub_avg[j]);
}
return 0;
}
```
注意事项:
1. 本程序使用了二维数组存储每个学生的三门成绩,其中第一维是学生的编号,第二维是成绩的编号。数组下标从 0 开始。
2. 在程序中使用了多个数组统计各种数据,包括每个学生的总分和平均分、每门课的总分和平均分等。
3. 在输入每个学生的成绩时,使用了两层循环,分别输入每个学生的三门成绩。
4. 在输出每个学生的总分和平均分时,使用了数组遍历和格式化输出。
5. 在输出每门课的总分和平均分时,同样使用了数组遍历和格式化输出。
阅读全文