c++统计正数和负数的个数
时间: 2024-01-27 11:04:42 浏览: 132
下面是一个简单的 C++ 代码,用于统计输入数字中正数和负数的个数:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, positive = 0, negative = 0;
cout << "请输入数字个数:";
cin >> n;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
if (x > 0) {
positive++;
} else if (x < 0) {
negative++;
}
}
cout << "正数个数为:" << positive << endl;
cout << "负数个数为:" << negative << endl;
return 0;
}
```
代码的思路是,首先让用户输入数字个数,然后使用 for 循环读取每个数字,判断它是正数还是负数,统计它们的数量,最后输出结果。
相关问题
用c++编一段程序,任意输入10个统计正数和负数的个数
好的,下面是代码:
```c
#include <stdio.h>
int main() {
int i, num, posCount = 0, negCount = 0;
printf("请输入10个整数:\n");
for (i = 1; i <= 10; i++) { // 循环读入10个整数
printf("第%d个数:", i);
scanf("%d", &num);
if (num > 0) { // 大于0,计入正数
posCount++;
} else if (num < 0) { // 小于0,计入负数
negCount++;
}
}
printf("正数个数:%d\n负数个数:%d\n", posCount, negCount);
return 0;
}
```
在这个程序中,我们用一个循环读入10个整数,判断每个数是正数还是负数,然后分别累加正数个数和负数个数。最后输出计数结果。
如果需要统计小数的正负,可以将 int 类型改为 float 类型,并把 if (num > 0) 改为 if (num > 0.0)。
从文件data.txt读入数据,求平均值并统计其中正数和负数的个数. 【提示】:准备一个data.txt文件在目录中,统计正数和负数的个数(C++编译)
在C++中,你可以使用`fstream`库来读取文本文件,并使用`std::vector<int>`或`std::map<bool, int>`存储正数和负数的数量。下面是一个简单的示例,假设`data.txt`里包含的是整数,每行一个数字:
```cpp
#include <iostream>
#include <fstream>
#include <vector>
int main() {
std::ifstream inputFile("data.txt"); // 打开文件
if (!inputFile.is_open()) { // 检查是否成功打开
std::cerr << "Error opening file!" << std::endl;
return 1;
}
int sum = 0;
int positiveCount = 0;
int negativeCount = 0;
double average; // 存储平均值
int number;
while (inputFile >> number) { // 遍历每一行
sum += number;
if (number > 0) {
positiveCount++;
} else if (number < 0) {
negativeCount++;
}
}
inputFile.close(); // 关闭文件
average = static_cast<double>(sum) / (positiveCount + negativeCount); // 计算平均值
std::cout << "Average value: " << average << std::endl;
std::cout << "Positive numbers: " << positiveCount << std::endl;
std::cout << "Negative numbers: " << negativeCount << std::endl;
return 0;
}
```
这个程序会计算所有非零整数的平均值,以及正数和负数各有多少个。注意,这里我们假设输入文件只包含整数。如果输入可能包含其他类型的数值或者空行,你需要添加额外的错误检查。
阅读全文