简单的阶乘计算

  • Post author:
  • Post category:其他


前言:三个问题,相互关联。(使用while语句)

正文:

Q:非负整数n的阶乘可以表示为n!(读作n的阶乘),其定义如下:n!=n*(n-1)*…

2

1(n>=1)且规定0!=1。

(1)请编写一个程序,读入一个非负整数(小于等于15),计算并输出其阶乘。

(2)请编写一个程序,利用下面的公式来估算数学常数e的值。e=1+1/1!+2/2!+3/3!+…

(3)请编写一个程序,利用下面的公式来估算数学常数e的x次方的值。ex=1+x/1!+x2/2!+x3/3!+…

源代码:

(1)

#include<stdio.h>
int main(){
	int x,y=1,z;
	printf("请输入小于等于15的非负整数:");
	scanf("%d",&x);
	z=x;
    while(x>=1){
    	y=y*x;
    	x--;
	}
	printf("%d!为%d",z,y);
}

(2)

#include<stdio.h> 
int main(){
	int x;
	float e=1.0, a=1.0,b=1.0;
	printf("请输入近似项数(小于等于15):");
	scanf("%d",&x);
	while(b<=x){
	    a=a*b;
	    e=e+1/a;
		b++;
	}
	printf("取%d时e的值为:%f",x,e);
}

(3)

#include<stdio.h> 
int main(){
	int m,i=1,a=1;
	double n,b=1,e=1;
	printf("请输入x的值(接近于0的浮点数):");
	scanf("%lf",&n);
	printf("请输入近似项数(小于等于15):");
	scanf("%d",&m) ;
	while(i!=m+1){
		b=b*n;
		a=a*i;
		e=e+b/a;
		i++;
	}
	printf("取%d项时e的%f次方值为:%f",m,n,e);
}



版权声明:本文为weixin_52621330原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。