c++ - 如何使用数组解决这个问题?
问题描述
我是编程新手,有没有办法解决这个问题:
从用户那里获取 10 个整数输入并打印以下内容
- 正数的个数。
- 负数的个数。
- 奇数个数。
- 偶数个数
#include <iostream>
using namespace std;
int main()
{
int numArray[10];
cout<<"Enter Number :";
for(int i=0; i<10; i++)
{
cin>>numArray[i];
}
for(int i=0; i<numArray[i]; i++)
{
if(numArray[i]>0)
{
cout<<"Positive Number "<<numArray[i] <<endl;
}
else
{
cout<<"Negative Number "<<numArray[i]<<endl;
}
if(numArray[i]%2==0)
{
cout<<"Odd number "<<numArray[i]<<endl;
}
else
{
cout<<"even number "<<numArray[i]<<endl;
}
}
return 0;
}
解决方案
你可以在没有数组的情况下做到这一点,但为了清楚起见,我只会坚持你的初衷。
#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int, 10> numArray; //an array of ints, size 10. this is CPP style array, it is 'safer' than C-style array. (someone correct me)
//get your 10 inputs.
cout << "Enter Number :";
for(size_t i = 0; i < numArray.size(); i++)
{
cin >> numArray[i];
}
int positive_count = 0;
int negative_count = 0;
int even_count = 0;
int odd_count = 0;
//loop thru your 10 inputs, increment counters accordingly.
for(size_t i = 0; i < numArray.size(); i++)
{
if (numArray[i] < 0)
{
negative_count += 1;
}
if (numArray[i] > 0)
{
positive_count += 1;
}
if (numArray[i] % 2 == 0)
{
even_count += 1;
}
else
{
odd_count += 1;
}
}
cout << "Positive Number " << positive_count << endl;
cout << "Negative Number " << negative_count << endl;
cout << "even number " << even_count << endl;
cout << "Odd number " << odd_count << endl;
return 0;
}
推荐阅读
- ada - Ada - 找不到“check_positive.adb”的库信息
- python - 将新列计算为熊猫数据框中另一个值的增量
- angular - 如何在可观察的 Firebase 变量中分配 SnapshotChanges?
- r - 有没有办法遍历一个 r-script 文件中的目录
- python - ValueError: int() 以 10 为底的无效文字:b'3\n1\n\n'
- powerapps - Power Apps - 创建唯一的集合列表
- javascript - 是否可以将字符串存储在 Json 文件中?
- scala - 如何在 Slick 中使用“ConstColumn”作为可选值
- java - 在将构建委托给 gradle 时,是否可以覆盖 IntelliJ IDEA 选择运行的 gradle 任务?
- angular - ChartJs - 饼图 - 如何删除饼图上的标签