首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种方法可以用C来计算10到x指数呢?Ten_to_the(x指数)

有没有一种方法可以用C来计算10到x指数呢?Ten_to_the(x指数)
EN

Stack Overflow用户
提问于 2022-10-25 06:10:56
回答 1查看 49关注 0票数 3

我需要把一个数字乘以10到(x)幂,这取决于我可能需要的指数。我知道在<math.h>库中有一个函数,但我想知道我是否可以使自己的函数实现基本相同的功能,但只用于10,而不是任何数字。这是当然的家庭作业,但由于我们还没有被告知这个库,我想尝试实现它没有说的power()功能。

这是我的代码;它确实编译了,但是我得到了一些奇怪的数字,而不是预期的5000

代码语言:javascript
复制
#include <cs50.h>
#include <stdio.h>

int ten_to_the(int n);

int main(void) {
    int x = 50;
    x *= ten_to_the(2);
    printf("%.i\n", x);
}

int ten_to_the(int n) {
    n = 1;
    for (int i = 0; i < n; i++) {
        n *= 10;
    }
    return n;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-25 06:18:03

因为在循环的每一次迭代中,您将n乘以10,所以i < n永远不会成为真。在实践中,n一直在变大,直到溢出并变为负值。

使用另一个变量来跟踪结果,将其与需要计算的迭代次数分开。

而不是这样:

代码语言:javascript
复制
int ten_to_the(int n)
{
    n = 1;
    for (int i = 0; i < n; i++)
    {
        n *= 10;
    }
    return n;
}

这是:

代码语言:javascript
复制
int ten_to_the(int n)
{
    int result = 1;
    for (int i = 0; i < n; i++)
    {
        result *= 10;
    }
    return result;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74189726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档