在同一行上打印多个输出

时间:2015-04-17 01:57:40

标签: c++

那里。我是在没有恐惧的情况下自学C ++而不是C ++的。有一个涉及2个数字的GCD的练习要求打印" GCD(a,b)=>"在进行中的每一步。我能够做到这一点:

int gcd (int a, int b);

int main() {
    int i,j;
    cout << "Enter the first integer" << endl;
    cin >> i;
    cout << "Enter the second integer" << endl;
    cin >> j;
    int k = gcd(i,j);
    cout << "The GCD is " << k << endl; 
    system("PAUSE");
    return 0;
}

int gcd (int a, int b){
    if(b==0){
        cout << "GCF(" << a;
        cout << "," << b;
        cout << ") => " <<endl;
        return a;
    }
    else {
        cout << "GCF(" << a;
        cout << "," << b;
        cout << ") => " << endl;
        return gcd(b,a%b);
    }
}

我只是想知道是否有更好的方法来打印寻找GCD的每一步。也就是说,有没有更好的&#34;写这部分代码的方法:

     cout << "GCF(" << a;
     cout << "," << b;
     cout << ") => " << endl;

?提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

     cout << "GCF(" << a << ',' << b << ") =>" << endl;

答案 1 :(得分:0)

这不是C ++,但是你可以使用C方式打印它,在我看来这种情况看起来更好,因为在这种情况下,流操作符的数量要少得多,<<

#include <cstdio>

printf("GCF(%d, %d) =>\n", a, b);

但这是一种做事方式......你可以使用boost::format中提到的this SO answer之类的内容。