编写一个程序,让用户输入一系列整数,以空格分隔,程序将这些整数存储在一个列表中,然后统计并打印,其中的正数,负数和零的个数
时间: 2024-12-13 22:23:15 浏览: 10
你可以编写一个简单的Python程序来完成这个任务,以下是实现的步骤:
1. 首先,提示用户输入一串用空格分隔的整数。
2. 使用`split()`函数分割用户输入,得到一个包含所有数字的字符串列表。
3. 然后遍历这个列表,将每个元素转换为整数并判断其正负。
4. 统计正数、负数和零的数量,并分别保存在相应的变量中。
5. 最后,打印出结果。
下面是一个示例代码:
```python
# 提示用户输入
input_string = input("请输入一系列整数,以空格分隔:")
# 分割输入并转换为整数列表
number_list = [int(num) for num in input_string.split()]
# 初始化计数器
positive_count = 0
negative_count = 0
zero_count = 0
# 遍历列表并统计
for num in number_list:
if num > 0:
positive_count += 1
elif num < 0:
negative_count += 1
else:
zero_count += 1
# 打印结果
print(f"正数有 {positive_count} 个")
print(f"负数有 {negative_count} 个")
print(f"零有 {zero_count} 个")
```
相关问题
如何使用C语言编写程序,让用户输入三个整数,这些整数之间用空格分隔,然后计算并输出这三个数中任意两个数相加的最大值?
在C语言中,你可以按照以下步骤编写一个简单的程序来实现这个功能:
```c
#include <stdio.h>
int main() {
int num1, num2, num3; // 定义三个整数变量
int max_sum; // 存储最大和
printf("请输入三个整数,用空格分隔:"); // 提示用户输入
scanf("%d %d %d", &num1, &num2, &num3); // 从标准输入读取三个整数
// 比较三个数,找出前两个数的最大和
if (num1 + num2 > num1 + num3 && num1 + num2 > num2 + num3) {
max_sum = num1 + num2;
} else if (num1 + num3 > num1 + num2 && num1 + num3 > num2 + num3) {
max_sum = num1 + num3;
} else {
max_sum = num2 + num3;
}
printf("任意两个数相加的最大值是:%d\n", max_sum); // 输出结果
return 0;
}
```
在这个程序中,我们首先提示用户输入三个整数,然后通过`scanf`函数读取用户的输入,并将它们分别存储在`num1`, `num2`, 和 `num3` 中。接着,我们使用一系列if-else条件语句比较任意两数之和,找到其中的最大值,并将其打印出来。
编写一个C程序,从用户那里接收一系列整数(以空格分隔),然后找出并打印这些整数中的最大值和最小值。示例:输入:5 3 9 1 7输出:最大值: 9最小值: 1```
编写一个C程序来实现这个功能,可以按照以下步骤:
1. 首先,我们需要包含一些必要的头文件,并声明全局变量存储输入的数字和它们的初始值(通常设为第一个输入的数字)。
```c
#include <stdio.h>
#include <stdlib.h>
int max = 0;
int min = INT_MAX; // 使用INT_MAX作为初始化值,因为任何正整数都小于它
void findMinMax(int num) {
if (num > max)
max = num;
else if (num < min)
min = num;
}
int main() {
int input;
char ch;
}
```
2. 接着,在`main()`函数中,我们创建一个循环,从用户那里逐个读取整数直到遇到空格。
```c
while ((ch = getchar()) != '\n') { // 循环读取直到换行符
input = atoi(&ch); // 将字符转换成整数
findMinMax(input);
}
```
3. 最后,我们在循环结束后输出最大值和最小值。
```c
printf("最大值: %d\n", max);
printf("最小值: %d\n", min);
return 0;
}
```
整个程序如下:
```c
#include <stdio.h>
#include <stdlib.h>
int max = 0;
int min = INT_MAX;
void findMinMax(int num) {
if (num > max)
max = num;
else if (num < min)
min = num;
}
int main() {
int input;
char ch;
while ((ch = getchar()) != '\n') {
input = atoi(&ch);
findMinMax(input);
}
printf("最大值: %d\n", max);
printf("最小值: %d\n", min);
return 0;
}
```
当你运行此程序,它会提示用户输入一系列以空格分隔的整数,然后显示最大值和最小值。
阅读全文