读入一系列整数,统计出正整数个数i和负整数个数j,并输出结果(读入0则结束)c++
时间: 2024-10-14 09:07:17 浏览: 65
在C++中,你可以通过循环读取用户的输入,并使用条件语句来判断每个输入的整数是正还是负,然后递增对应的计数器。以下是一个简单的示例程序:
```cpp
#include <iostream>
int main() {
int num, i = 0, j = 0;
while (true) {
std::cout << "请输入一个整数(输入0表示结束):";
std::cin >> num;
if (num == 0)
break; // 输入0时退出循环
if (num > 0)
i++; // 正整数增加计数
else if (num < 0)
j++; // 负整数增加计数
}
std::cout << "正整数个数:" << i << ", 负整数个数:" << j << std::endl;
return 0;
}
```
在这个程序中,我们首先初始化两个计数器`i`和`j`分别用于存储正整数和负整数的数量。接着,在一个无限循环中(直到用户输入0),读取用户输入并检查其值。如果输入是正数,`i`加一;如果是负数,`j`加一。当用户输入0时,跳出循环并输出最终的结果。
相关问题
读入一系列整数,统计出正整数和负整数个数
在C++中,读入一系列整数并统计正整数和负整数的个数,可以使用`cin`从标准输入获取数据,然后遍历这些数字并检查它们的符号。以下是一个简单的例子:
```cpp
#include <iostream>
#include <vector>
std::pair<int, int> countPositiveAndNegative() {
int positive_count = 0;
int negative_count = 0;
int number;
while (std::cin >> number) {
if (number > 0) {
positive_count++;
} else if (number < 0) {
negative_count++;
}
}
// 如果遇到非数字字符或者输入结束,需要清除错误状态
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
return std::make_pair(positive_count, negative_count);
}
int main() {
std::pair<int, int> stats = countPositiveAndNegative();
std::cout << "Positive integers: " << stats.first << "\n";
std::cout << "Negative integers: " << stats.second << "\n";
return 0;
}
```
在这个程序中,我们不断地从用户那里读取整数,直到遇到无效输入或程序结束。当输入完成后,我们还需要清理可能存在的错误状态。
devc++随机输入一批整数,有正整数,负整数和零,计算并且输出这批整数中 5 个正整数的和,当读入的数据为负数或 0 时,程序忽略此次输入,直到读入 5 个正整数时程序才停止。
以下是 Python 代码实现:
```python
count = 0 # 记录已经输入的正整数个数
sum_positive = 0 # 记录正整数的和
while count < 5:
num = int(input("请输入一个整数:"))
if num > 0:
count += 1
sum_positive += num
elif num <= 0:
continue
print("5个正整数的和为:", sum_positive)
```
程序首先初始化计数器 `count` 和正整数和 `sum_positive`,然后进入一个循环,每次读入一个整数 `num`。如果 `num` 是正整数,则将计数器 `count` 加 1,将 `num` 加入正整数和 `sum_positive` 中;如果 `num` 是非正整数,则跳过本次循环,继续读入下一个整数。当计数器 `count` 达到 5 时,循环结束,输出正整数和 `sum_positive`。
阅读全文