首页 > 解决方案 > 计算 n! 和 x^n 并进行计算

问题描述

编写一个 C 程序来计算 (x^n)/(n!) 其中 x 是浮点数,n 是大于或等于零的整数。

我编写了以下代码:

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

void main()
{
    float x,p;
    int i,n,f=1;
    printf("Enter the value of x,n\n");
    scanf("%d %d",&x,&n);
    if(n>0)
    {
        for(i=1;i<=n;i++)
        {
            f=f*i;
        }
        p=(float)pow(x,n)/f;
        printf("The value of p is %.3f",p);
    }

    if(n==0)
    {
        p=(float)pow(x,n)/1;
        printf("The value of p is %d",p);
    }

    getch();
}

但这运行得并不好。我哪里出错了?

PS:编辑 在此处输入图像描述

标签: cloopsfactorial

解决方案


在你的问题中,我已经认识到 3 个问题。

  1. 主要问题是scanf("%d %d",&x,&n);应该改成scanf("%f %d",&x,&n); 因为x`float type @dragosht 已经提到了它。

  2. printf("The value of p is %d",p);应该是正确的,printf("The value of p is %f",p);因为p也是float类型。

  3. 最好p = 0;在开始时设置,因为您没有为p使用键盘分配值。有时,您会因此而获得损坏的值。


推荐阅读