2.5 生成乘方表和阶乘表

例2-10:输入一个正整数n,生成一张2的乘方表,输出2的0次方到2的n次方的值,可以调用幂函数计算2的乘方。

#include <stdio.h>
#include <math.h>
int main()
{
    int i, n;
    double power;

    printf("Enter n:");
    scanf("%d", &n);
    for (i = 0; i <= n; i++)
    {
        power = pow(2, i);
        printf("pow(2,%d)=%.0f\n", i, power);
    }
    return 0;
}

例2-11:输入一个正整数n,生成一张阶乘表,输出0!到n!的值,要求定义和调用函数fact(n)计算n!,函数类型是double。

#include <stdio.h>
double fact(int n);
double fact(int n)
{
    int i;
    double product;
    product=1;
    for(i=1;i<=n;i++)
    {
        product=product*i;
    }
    return product;
}
int main()
{
    int i,n;
    double result;
    printf("Enter n:");
    scanf("%d",&n);
    for(i=0;i<=n;i++)
    {
        result=fact(i);
        printf("%d!=%0.f\n",i,result);
    }
    return 0;
}

练习2-17:输入一个正整数n,生成一张3的乘方表,输出3的0次方到3的n次方的值,可以调用幂函数计算2的乘方,试编写相应程序。

#include <stdio.h>
#include <math.h>
int main()
{
    int i, n;
    double power;

    printf("Enter n:");
    scanf("%d", &n);
    for (i = 0; i <= n; i++)
    {
        power = pow(3, i);
        printf("pow(3,%d)=%.0f\n", i, power);
    }
    return 0;
}

练习2-18,求组合数:根据下列公式可以算出从n个不同元素中取出m个元素(m≤n)的组合数。输入两个正整数m和n(m≤n),计算并输出组合数,要求定义和调用函数fact(n)就算n!,函数类型是double。试编写相应程序。

#include <stdio.h>
double fact(int n); //声明自定义函数
double fact(int n)  //定义自定义函数
{
    int i;
    double product;          //使用product存放结果
    product = 1;             //设置初值为1
    for (i = 1; i <= n; i++) //计算n!
    {
        product = product * i;
    }
    return product;
}
int main()
{
    int n, m;
    double result1, result2, result3, C;
    printf("Enter n:"); //输入提示
    scanf("%d", &n);
    printf("Enter m:"); //输入提示
    scanf("%d", &m);
    if (m <= n) //判断n和m的大小
    {

        result1 = fact(n); //调用函数计算n!
        printf("n!=%0.f\n", result1);

        result2 = fact(m); //调用函数计算m!
        printf("m!=%0.f\n", result2);

        result3 = fact(n - m); //调用函数计算(n-m)!
        printf("(n-m)!=%0.f\n", result3);

        C = result1 / (result2 * result3); //计算C的值
        printf("C=%0.f", C);
    }
    else
    {
        printf("Invalid value");
    }
    return 0;
}
发布了14 篇原创文章 · 获赞 2 · 访问量 277

猜你喜欢

转载自blog.csdn.net/qq_45969772/article/details/104781278
2.5