那里。我是在没有恐惧的情况下自学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;
?提前谢谢。
答案 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之类的内容。