C 语言范例 - 计算一个数的 n 次方

计算一个数的 n 次方,例如: 23,其中 2 为基数,3 为指数

使用 while

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>

int main()
{
    int base, exp;

    long long result = 1;

    printf("基数: ");
    scanf("%d", &base);

    printf("指数: ");
    scanf("%d", &exp);

    while (exp != 0)
    {
        result *= base;
        --exp;
    }
    printf("结果:%lld\n", result);

    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
基数: 5
指数: 3
结果:125

使用 pow() 函数

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */


#include <stdio.h>
#include <math.h>

int main()
{
    double base, exp, result;

    printf("基数: ");
    scanf("%lf", &base);

    printf("指数: ");
    scanf("%lf", &exp);

    // 计算结果
    result = pow(base, exp);

    printf("%.1lf^%.1lf = %.2lf\n", base, exp, result);

    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
基数: 5
指数: 3
5.0^3.0 = 125.00

使用递归

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */


#include <stdio.h>

int power(int n1, int times);

int main()
{
    int base, times, result;

    printf("基数: ");
    scanf("%d",&base);

    printf("指数(正整数): ");
    scanf("%d",&times);

    result = power(base, times);

    printf("%d^%d = %d\n", base, times, result);
    return 0;
}

int power(int base, int times)
{
    if ( times != 0)
        return (base*power(base, times - 1 ));
    else
        return 1;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
基数: 5
指数(正整数): 3
5^3 = 125

C 语言范例

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.