在dev中,从键盘输入 20 个整型数据,统计其中正数的个数,并计算它们的求和,在此基础上,找出最大数和最小数并输出对应的下标
时间: 2024-03-11 19:47:52 浏览: 61
好的,我来解答你的问题。
以下是 C++ 代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
const int N = 20; // 数组元素个数
int a[N]; // 定义整型数组
int count = 0; // 正数个数
int sum = 0; // 正数求和
int max_index = 0, min_index = 0; // 最大最小数的下标
// 从键盘输入数据
for (int i = 0; i < N; i++) {
cin >> a[i];
if (a[i] > 0) { // 判断是否为正数
count++; // 正数个数加一
sum += a[i]; // 求和
}
if (a[i] > a[max_index]) { // 更新最大数的下标
max_index = i;
}
if (a[i] < a[min_index]) { // 更新最小数的下标
min_index = i;
}
}
// 输出结果
cout << "正数个数:" << count << endl;
cout << "正数求和:" << sum << endl;
cout << "最大数:" << a[max_index] << ",下标:" << max_index << endl;
cout << "最小数:" << a[min_index] << ",下标:" << min_index << endl;
return 0;
}
```
以上代码中,我们定义了一个长度为 20 的整型数组 `a`,通过 `for` 循环从键盘输入 20 个整数。在循环中,我们判断每个元素是否为正数,若是,则将正数个数加一,并将其加入到正数求和中。同时,我们使用两个变量 `max_index` 和 `min_index` 分别记录最大数和最小数的下标,最后输出统计结果。
注意,我们使用 `const int N = 20` 定义了数组元素个数,这样可以在程序其他地方复用 `N`。同时,我们使用 `using namespace std` 简化了代码,不过在实际开发中最好避免这样做,以免引入不必要的名字冲突。
阅读全文