【发布时间】:2014-10-11 14:17:59
【问题描述】:
我试图将这个问题分解为函数,但我的问题是当我打印出结果时,我总是得到不同的总和、正数和负数。
谁能给我一个提示?
编写一个程序,读取十个整数并输出其中所有正数之和。程序应忽略所有小于或等于 0 的数字。程序还应显示正数的计数和负数或零的计数。
#include <iostream>
using namespace std;
void input(int number, int positiveCount, int negativeCount, int sum);
void output(int positiveCount, int negativeCount, int sum);
int main()
{
int number, positiveCount, negativeCount, sum;
input(number, positiveCount, negativeCount, sum);
output(positiveCount, negativeCount, sum);
return 0;
}
void input(int number, int positiveCount, int negativeCount, int sum)
{
cout << "Enter 10 integers: " << endl;
for (int i = 0; i < 10; i++)
{
cin >> number;
if (number > 0)
{
positiveCount++;
sum = sum + number;
}
else
{
negativeCount++;
}
}
}
void output(int positiveCount, int negativeCount, int sum)
{
cout << sum << endl;
cout << positiveCount << endl;
cout << negativeCount << endl;
}
【问题讨论】:
-
能否详细说明,问题出在哪里