1135人加入学习
(5人评价)
C++编程系列 第二季函数和类

制作于2018.4.2

价格 免费
课程还未发布,不允许加入和购买

#include <iostream>
#include <string>

using namespace std;
// 求两个数的调和平均数
// sca = (2*a1*a2) / (a1+a2);
// 1

enum Etimate {
    zero = 0,
    nonzero
};

void ScanfFunc(int&, int&);
Etimate EtimateFunc(int&, int&);
// 2,3
double HarmonicAverage(int&, int&);


int main()
{
    int num1 = 0;
    int num2 = 0;

    double harAve = 0;
    bool numBool = false;

    Etimate numEtimate = {nonzero};

    while (1)
    {
        ScanfFunc(num1, num2);
        numEtimate = EtimateFunc(num1, num2);
        if (zero == numEtimate)
        {
        return 0;
        }

        else if (nonzero == numEtimate)
        {
            harAve = HarmonicAverage(num1, num2);
            cout << "输入的数字是:" << num1 << " or " << num2 << ", 它们的调和平均数是: " << harAve << endl;
        }
        
    }
}

// 1、不断要求用户输入2个数,直到其中一个值为0;
void ScanfFunc(int& num1, int& num2)
{
    cout << "请输入两个数." << endl;
    cout << "第1个数:";
    cin >> num1;

    cout << "第2个数";
    cin >> num2;
    
    
}

Etimate EtimateFunc(int& num1, int& num2)
{
    
    if (0 == num1 || 0 == num2)
    {
        return zero;
    }
    else
    {
        return nonzero;
    }

}

// 2、对于每2个数,程序将使用一个函数来计算它们的调和平均数
// 3、函数将计算结果返回给主函数, 在主函数中输出输入的数字和它们的调和平均数
double HarmonicAverage(int& num1, int& num2)
{
    return (double)((2 * num1 * num2) / (num1 + num2));
}

 

[展开全文]
壹丶 · 2023-01-15 · 112-习题2 0

习题改

#include <iostream>
#include "stdio.h"
#include "string"
using namespace std;
float pj(float i, float j);
int main()
{
	float a, b, temp;
	cout << "请输入两个数的值" << endl;
	while (cin >> a >> b && a != 0 && b != 0)
	{

		cout << a << "和" << b << "的" << "调和平均数为" << pj(a, b) << endl;
		cout << "请输入两个数的值" << endl;

	}

}
float pj(float i, float j)
{
	float sum = 1 / ((1 / i + 1 / j) / 2);
	return sum;
}

 

[展开全文]
史小墙 · 2020-06-09 · 112-习题2 0

授课教师

SIKI学院老师

课程特色

下载资料(1)
视频(43)

学员动态