c++ - 如何用while循环求幂
问题描述
我有麻烦。就像在描述中一样。如何在 C++ 中做到这一点?老师给了一个练习,我们必须使用三个循环(for,while和do..while),而这个while循环对我来说很奇怪,我在这段代码中有什么问题?
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d;
cin >> a;
cin >> b;
c = a;
d = 1;
while(b < 1){
c*=a;
}
if(b == 0)
cout << d;
else
cout << c;
return 0;
}
动作的结果是相等的a
。
解决方案
如果我正确理解了您的问题,您想std::pow()
使用 do..while 循环创建自己的函数。这可以通过以下方式完成:
float my_pow(float base, unsigned int exp)
{
if(exp == 0) return 1;
else if(exp == 1) return base;
float result = base;
do
{
result *= base;
--exp;
}
while(exp > 1)
return result;
}
推荐阅读
- systemd - systemctl status(不是底层服务)中的错误 systemctl status 返回什么返回码?
- kubernetes - 来自服务器的错误 (NotFound): deployments.extensions "1" not found(在 Kubernetes 中删除部署时出错)
- java - 从Java中的串行端口拆分字符串
- c# - C# null 条件运算符在调用异步任务时有什么不同吗?
- python-3.x - 如何在 Visual Studio 2017 上安装 pygame?
- r - 如何在单独的页面上为数据集中的每一列创建直方图
- python - 如何抓取嵌套的 div 和 ol 类
- spring - Hystrix fallback method not called if Feign Client manually created with Feign.Builder
- python - 从 csv 到 json 从两个分类变量(列)中选择类别作为 json 文件的键
- list - Flutter: Reorderable AND Animated ListView - any idea?