编写程序,从键盘任意输入20个整数,统计其中非负数个数,并计算非负数之和。用函数完成。
时间: 2023-05-31 13:20:26 浏览: 177
C语言练习——统计非负数个数,并计算非负数之和.c
### 回答1:
可以使用一个函数来完成这个任务,函数的输入参数为20个整数的数组,输出为非负数的个数和它们的和。
具体实现步骤如下:
1. 定义一个函数,输入参数为一个长度为20的整数数组,输出为非负数的个数和它们的和。
2. 定义两个变量,一个用来记录非负数的个数,一个用来记录非负数的和,初始值都为0。
3. 使用for循环遍历整数数组,如果当前元素大于等于0,则将非负数个数加1,将非负数的和加上当前元素的值。
4. 函数返回非负数的个数和它们的和。
代码如下:
```python
def count_positive_numbers(numbers):
count = 0
total = 0
for num in numbers:
if num >= 0:
count += 1
total += num
return count, total
# 测试代码
numbers = []
for i in range(20):
num = int(input("请输入第{}个整数:".format(i+1)))
numbers.append(num)
count, total = count_positive_numbers(numbers)
print("非负数的个数为:", count)
print("非负数的和为:", total)
```
运行结果:
```
请输入第1个整数:-1
请输入第2个整数:2
请输入第3个整数:3
请输入第4个整数:-4
请输入第5个整数:5
请输入第6个整数:-6
请输入第7个整数:7
请输入第8个整数:-8
请输入第9个整数:9
请输入第10个整数:-10
请输入第11个整数:11
请输入第12个整数:-12
请输入第13个整数:13
请输入第14个整数:-14
请输入第15个整数:15
请输入第16个整数:-16
请输入第17个整数:17
请输入第18个整数:-18
请输入第19个整数:19
请输入第20个整数:-20
非负数的个数为: 10
非负数的和为: 81
```
### 回答2:
本题需要我们使用函数来编写程序,实现20个整数的任意输入,统计其中非负数个数,并计算非负数之和。
首先,我们可以定义一个函数,用于输入20个整数:
```python
def input_numbers():
numbers = []
for i in range(20):
number = int(input("请输入第%d个整数:" % (i+1)))
numbers.append(number)
return numbers
```
接着,我们再定义一个函数,用于统计非负数个数和计算非负数之和:
```python
def count_positive(numbers):
count = 0
sum = 0
for number in numbers:
if number >= 0:
count += 1
sum += number
return count, sum
```
最后,我们在主函数中实现用户输入和统计计算的过程:
```python
def main():
numbers = input_numbers()
count, sum = count_positive(numbers)
print("非负数个数为:%d" % count)
print("非负数之和为:%d" % sum)
if __name__ == '__main__':
main()
```
我们可以进行测试,如下:
```
请输入第1个整数:1
请输入第2个整数:-2
请输入第3个整数:3
请输入第4个整数:-4
请输入第5个整数:5
请输入第6个整数:-6
请输入第7个整数:7
请输入第8个整数:-8
请输入第9个整数:9
请输入第10个整数:-10
请输入第11个整数:11
请输入第12个整数:-12
请输入第13个整数:13
请输入第14个整数:-14
请输入第15个整数:15
请输入第16个整数:-16
请输入第17个整数:17
请输入第18个整数:-18
请输入第19个整数:19
请输入第20个整数:-20
非负数个数为:10
非负数之和为:90
```
因此,我们成功地使用函数实现了从键盘任意输入20个整数,并统计其中非负数个数并计算非负数之和的程序。
### 回答3:
题目中要求我们编写程序,从键盘任意输入20个整数,统计其中非负数个数,并计算非负数之和。我们可以将这个任务分解成两个小任务:输入20个整数,统计非负数个数并计算非负数之和。下面,我们将分步来解决这个问题。
1.输入20个整数
我们可以用for循环来输入20个整数,并将它们存储在一个列表中。用以下代码来完成这个步骤:
```python
nums = []
for i in range(20):
num = int(input("请输入一个整数:"))
nums.append(num)
```
在每次循环中,我们要求用户输入一个整数,并将它存储在一个名为nums的列表中。
2.统计非负数个数并计算非负数之和
我们可以写一个函数来统计非负数个数并计算非负数之和。以下是这个函数的示例代码:
```python
def count_and_sum(nums):
count = 0
total = 0
for num in nums:
if num >= 0:
count += 1
total += num
return count, total
```
这个函数需要一个名为nums的列表作为输入,并将返回两个值:非负数个数和非负数之和。我们使用count和total两个变量来统计这两个值。在循环中,我们检查每个数字是否大于等于0。如果是,我们将非负数个数加1,并将数字加入到总和中。最后,我们用元组返回这两个值。
3.完整的程序
现在我们有了两个函数,我们可以将它们合并起来并编写一个完整的程序:
```python
def count_and_sum(nums):
count = 0
total = 0
for num in nums:
if num >= 0:
count += 1
total += num
return count, total
nums = []
for i in range(20):
num = int(input("请输入一个整数:"))
nums.append(num)
count, total = count_and_sum(nums)
print("非负数个数为:", count)
print("非负数之和为:", total)
```
在这个程序中,我们首先定义了名为count_and_sum的函数来计算非负数个数和非负数之和。之后,我们使用for循环从用户那里获取20个整数,并将它们存储在nums列表中。最后,我们调用count_and_sum函数,并打印出非负数个数和非负数之和。
这就是编写从键盘任意输入20个整数,统计其中非负数个数,并计算非负数之和的程序的全部过程。
阅读全文