亦有资源网

C++语言基础到进阶学习资源汇总

C语言训练题(c语言训练题资料书)

题目1:设计一个函数用来计算B的n次方

代码如下:

#include 

int main()
{
    int B, n;
    printf("请输入底数B和指数n: ");
    scanf("%d %d", &B, &n);
    int power();
    
    if (n < 0) {
        printf("输入的数字不合规定!\n");
    } else {
        printf("B的n次方是:%d\n", power(B,n));
    }
}

int power(int B, int n) 
{
    if (n == 0) {
        return 1;
    } else {
        return B * power(B,n - 1);
    }
}

运行结果:

下面在程序里面加一个goto循环,是的能重复计算。

#include 

int main()
{
    int B, n;
    loop:
    printf("请输入底数B和指数n: ");
    scanf("%d %d", &B, &n);
    int power();
    
    if (n < 0) {
        printf("输入的数字不合规定!\n");
    } else {
        printf("B的n次方是:%d\n", power(B,n));
        goto loop;
    }
}

int power(int B, int n) 
{
    if (n == 0) {
        return 1;
    } else {
        return B * power(B,n - 1);
    }
}

运行结果:

由上图“运行结果2”可以看出,当第一次输入底数和指数运行结束后,会继续让你输入,与没有添加goto循环之前对比,是有一定区别的。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言