首页 > 试题广场 >

输入m、n和p的值,求s =的值。注意判断运算中的溢出。

[问答题]

输入mnp的值,求s =的值。注意判断运算中的溢出。

推荐
using namespace std;
double f( long k,long num );
int main()
{
long m,n,p;  double s,f1,f2,f3;
cout << "m,n,p=";
cin>>m>>n>>p;
f1=f( 1,m );
f2=f( 3,n );
f3=f( 5,p );
if (f1 && f2 && f3 )
{
s = ( f1 + f2) /f3;
cout << "s=" << s << endl;
}
else
cout<<"溢出!\n";
}
double f( long k,long num )
{
long i;
double sum=0;
for( i=1; i<=num && sum<2147483647; i++ )
{
sum = sum + pow( double (i),double (k) );
}
if (i<=num)
return 0;   //溢出时返回
return sum;
}

发表于 2018-05-07 11:37:47 回复(0)