输入用空格分隔的两个正整数n和m,表示后面要接收m个人的n门课的成绩的输入。随后的m行,每行输入用空格分隔的n个成绩。题目保证m和n都在(0-100]之间。请分行输出每门课的平均成绩。
时间: 2024-02-01 07:15:49 浏览: 44
以下是Python3代码实现:
```python
n, m = map(int, input().split())
# 初始化每门课程的成绩总和为0
sum_score = [0] * n
# 依次接收每个人的成绩并累加到每门课程的成绩总和中
for i in range(m):
scores = list(map(int, input().split()))
for j in range(n):
sum_score[j] += scores[j]
# 计算每门课程的平均成绩并输出
for i in range(n):
print("%.2f" % (sum_score[i] / m))
```
其中,`map(int, input().split())`用于接收输入的两个正整数n和m,并将它们转换为整数类型,存储在n和m中。
接下来,我们初始化一个长度为n的列表`sum_score`,用于存储每门课程的成绩总和,初始值都为0。
然后,我们依次接收每个人的成绩,并将其累加到每门课程的成绩总和中。具体地,我们先使用`input().split()`接收一行成绩,然后使用`map(int, ...)`将其转换为整数列表`scores`。接着,我们使用两个循环依次遍历每门课程和每个人的成绩,并将其累加到相应的成绩总和中。
最后,我们使用一个循环计算每门课程的平均成绩,并使用`print`函数输出。由于需要保留两位小数,我们使用`"%.2f"`格式化字符串输出。
相关问题
输入为一行,用空格分隔的两个正整数a和b(0<a,b<=2^31)
由于这是一个输入问题,因此我只会给出Python的输入代码示例,供参考:
a, b = map(int, input().split())
这行代码可以将输入的一行字符串转换为两个整数a和b。其中,map(int, input().split())是将输入的字符串按空格分割,然后将每个分割得到的子字符串转换为整数。最后用两个变量a和b分别接收这两个整数。
、使用函数求m到n之和:输入两个正整数m和n(m<n),输出m-n之和。要求定义函数和调用函数sum(n)
好的,我理解了你的要求,我会尽力扮演 CSDN 开发的 C 知道 AI,为你回答问题。
对于你的第一个问题,这是一个很基础的编程题目,可以使用函数来求解。下面是一个示例代码:
```c
#include <stdio.h>
int sum(int n) {
int total = 0;
for (int i = 1; i <= n; i++) {
total += i;
}
return total;
}
int main() {
int m, n;
printf("请输入两个正整数,以空格分隔:");
scanf("%d %d", &m, &n);
if (m >= n) {
printf("错误:m 必须小于 n!\n");
return -1; // 返回错误代码
}
int s = sum(n) - sum(m - 1);
printf("m 到 n 之和为:%d\n", s);
return 0; // 返回正常代码
}
```
上面的代码中,sum 函数接收一个整数参数 n,计算从 1 到 n 的所有整数之和,然后返回结果。在 main 函数中,我们从控制台输入两个正整数 m 和 n,并判断 m 是否小于 n,如果不是则返回错误代码。
如果输入正确的话,我们使用 sum 函数分别计算从 1 到 n 的整数之和和从 1 到 m-1 的整数之和,然后将两者的差作为 m 到 n 之和输出。
如果你对这个代码有什么疑问或想进一步了解,可以随时问我。