首页 > 试题广场 >

编写一个程序,不断要求用户输入两个数,直到其中的一个为0。对

[问答题]
编写一个程序,不断要求用户输入两个数,直到其中的一个为0。对于 每两个数,程序将使用一个函数来计算它们的调和平均数,并将结果返回给main(),而后者将报告结果。调和平均数指的是倒数平均值的倒数,计算公式如下:
调和平均数=2.0 * x * y / (x + y)
#include<iostream>
using namespace std;

const int a = 2.0;

template <typename T>
inline T Sum_ADD(T X,T Y){
    T sum = (a*X*Y)/(X+Y);
    return sum;
}

int main(int argc, char* argv[]){
     int a,b;
     int sum;
     cout<<"input  num_a and num_b: ";
    while(cin>>a>>b,a*b!=0) //这样判断有一点bug,可以修改一下
    {
        sum+=Sum_ADD(a,b);
 
    }
    cout<<sum<<endl;
    return 0;
}

发表于 2021-04-22 11:15:37 回复(0)
#include <iostream>

using namespace std;

double Reciprocal(int a,int b);

int main()
{
        int a,b;
        double sum=0;
    while(1)
    {
            cout<<"a:";
            cin>>a;
            if(a==0)
                break;
            cout<<"b:";
            cin>>b;
            if(b==0)
                break;
            sum+=Reciprocal(a,b);

    }
    cout<<sum<<endl;
    return 0;
}
double Reciprocal(int a,int b)
{
        auto reciprocal=2.0*a*b/(a+b);
        return reciprocal;

}

发表于 2021-03-28 11:34:25 回复(0)