请帮我解决这个问题:
使用while语句编写一个C ++程序,提示用户输入两个数字(x,y),然后找到x ^ y。
示例运行:
请输入x和y的值
7
0
7 ^ 0 = 1
请输入x和y的值
5
6
5 ^ 6 = 15625
请不要发表声明。 我用power语做了(很容易),但我需要它没有pow语句 多数民众赞成我所做的int counter,x,y,ttl; counter = 0;
while (counter == 0){
cout << "Please enter the values of x and y ";
cin >> x >> y;
ttl = pow(x,y);
counter++;
}
cout << x << " ^ " << y << " = " << ttl ;
答案 0 :(得分:2)
以下是三个解决方案(虽然第一个不使用while循环)
int power(int x, int y)
{
return (y==1)
?x:x*
power(x, --y);
}
或者,如果你真的想要一个while循环:
int power(int x, int y)
{
while (y-1)
return x*power(x, --y);
return x;
}
如何使用“转发”:
int power(int x, int y)
{
int r = 1;
while (y --> 0) r *= x; return r;
}
答案 1 :(得分:1)
由于user3041987指定应该使用while语句,也许我们实际上可以写一些使用while循环的东西:):
int power(int x, int y)
{
int result = 1;
int i = 0;
while(i<y)
{
result *= x;
++i;
}
return result;
}
答案 2 :(得分:0)
这应该
int x,y,prod=1;
cout<<"Please enter the values of x and y ";
cin>>x>>y;
while (y>0)
{
prod*=x;
y--;
}
cout<<x<<"^"<<y<<"= "<<prod;