使用While语句查找x ^ y

时间:2013-11-27 13:34:13

标签: c++

请帮我解决这个问题:

使用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 ;

3 个答案:

答案 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;