关于使用异常求数列和的问题
我写了一个用异常机制求一个给定数列中正数和的问题的程序,但是运行中有错,无法实现只求正数的和(数列中一有负数,和就是零),还有就是没有办法自己输入数列,为什么?谢谢!
程序如下:
#include<iostream>
using namespace std;
static int sum(int* a,int b);
static int b=0;
static int i=0;
static int sum_n=0;
int main()
{
cout<<"please input 10 numbers:\n";
int array[10]={1,2,3,4,5,6,-7,8,9,10};
//for (i=0;i<10;i++) //我想实现自己输入数组,但是不行,只能在
程序中初始化
//{
//if(!(cin>>array[i]))
//cout << "please input number only!\n";
//i-=1;}
//i=0;
try{
sum_n = sum (array,b);
}
catch ( int i)
{
i+=1;
}
cout << "the sum of the positive numbers is " << sum_n<<"\n";
return 0;
}
static int sum (int* a,int b)
{
for(i=0;i<10;i++)
{
if (a[i]>=0)
b+=a[i];
else
throw i;
}
return b;
}