题目:新八5个整效,粉出其中正整数的累加和sm与正整数的平如信ave,給入粉出替式 如以下示匆。 如新入:10 0 20-5 31 列新出:5un=61, Average=20.3
时间: 2024-05-10 19:20:49 浏览: 38
python 输入两个正整数计算最大公约数和最小公倍数 示例
5星 · 资源好评率100%
解题思路:
首先,需要找到输入的正整数个数n,以及其中正整数的个数m。可以遍历一遍输入的整数,判断是否为正整数,如果是,那么m加1。同时,累加所有的正整数,得到它们的累加和sm。
接着,可以根据m和sm求得正整数的平均值ave。
最后,将结果输出即可。
Python代码实现:
```python
nums = input().split() # 读取输入的整数,以空格分隔
n = len(nums) # 输入的整数个数
m = 0 # 正整数个数
sm = 0 # 正整数累加和
for i in range(n):
x = int(nums[i])
if x > 0: # 判断是否为正整数
m += 1
sm += x
ave = sm / m # 正整数平均值
print("sum=%d, Average=%.1f" % (sm, ave)) # 输出结果
```
Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] nums = sc.nextLine().split(" "); // 读取输入的整数,以空格分隔
int n = nums.length; // 输入的整数个数
int m = 0; // 正整数个数
int sm = 0; // 正整数累加和
for (int i = 0; i < n; i++) {
int x = Integer.parseInt(nums[i]);
if (x > 0) { // 判断是否为正整数
m++;
sm += x;
}
}
double ave = (double) sm / m; // 正整数平均值
System.out.printf("sum=%d, Average=%.1f\n", sm, ave); // 输出结果
}
}
```
C++代码实现:
```cpp
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main() {
string line;
getline(cin, line);
istringstream iss(line);
int n = 0; // 输入的整数个数
int m = 0; // 正整数个数
int sm = 0; // 正整数累加和
int x;
while (iss >> x) {
n++;
if (x > 0) { // 判断是否为正整数
m++;
sm += x;
}
}
double ave = (double) sm / m; // 正整数平均值
printf("sum=%d, Average=%.1f\n", sm, ave); // 输出结果
return 0;
}
```
阅读全文