c++编程问题,初学者跪求答案 定义如下函数: void compute(float a, flo

c++编程问题,初学者跪求答案
定义如下函数:
void compute(float a, float b, float & sum, float & sub, float & pro);
(1)在main函数中调用此函数,输入:两个浮点数;输出:浮点数的和、差、乘积。
(2)再根据类似的函数形式,利用引用实现,输入:两个整形数;输出:这两个数的最大公约数和最小公倍数。

C++程序:


#include <iostream>


using namespace std;


void compute(float a, float b, float *sum, float *sub, float *pro)

{

*sum = a + b;

*sub = a - b;

*pro = a * b;

}


void gcd_gcm(int n, int m, int *gcd, int *gcm)

{

int temp;

int n1, m1;

n1 = n;

m1 = m;


if(n < m)

{

temp = n;

n = m;

m = temp;

}


//辗转相除法求最大公约数

while(m != 0)

{

temp = n % m;

n = m;

m = temp;

    }

*gcd = n;

*gcm = n1 * m1 / *gcd;

}


void main()

{

float a = 1.2;

float b = 2.5;

float sum, sub, pro;


int n = 12;

int m = 16;

int gcd;

int gcm;


compute(a, b, &sum, &sub, &pro);


cout<<"sum = "<<sum<<endl;

cout<<"sub = "<<sub<<endl;

cout<<"pro = "<<pro<<endl;


gcd_gcm(n, m, &gcd, &gcm);

cout<<"最大公约数 = "<<gcd<<endl;

cout<<"最小公倍数 = "<<gcm<<endl;

}


运行效果:

追问

额。。要求是在生成的程序中输入数据进行运算的。是不是把里面的float a = 1.2改成int float a就可以了?

我傻了,已经弄明白了,谢谢

追答

记得采纳啊

追问

抱歉,晚了一点,已采纳

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-03
#include <iostream>

using namespace std;

void compute(float a, float b, float &sum, float &sub, float &pro);

void commonnum(int a, int b, int &large, int &least);

int main() {
    float a = 1.125f;
    float b = 8.725f;
    float sum, sub, pro;

    compute(a, b, sum, sub, pro);

    printf("sum=%.3f, sub=%.3f, pro=%.3f\n", sum, sub, pro);

    int m=27, n=15, la, le;
    commonnum(m, n, la, le);
    printf("最大公约数:%d, 最小公倍数:%d\n", la, le);

    return 0;
}

void compute(float a, float b, float &sum, float &sub, float &pro) {
    sum = a+b;
    sub = a-b;
    pro = a*b;
}

void commonnum(int m, int n, int &large, int &least) {
    int a=m, b=n;
    while (a!=b) {
        if (a>b) a=a-b;
        else b=b-a;
    }
    large=a;
    least=m*n/a;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网