第1个回答 推荐于2018-02-27
#include <math.h>
main()
{
int n,i,b;
long a=1;
double e,x;
printf("Input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a*=i;
e+=1.0/a;
}
printf("e=%lf",e);
x=e-(int)e;
printf(" input bit b(1~14):");/*这边给您输出最多14位的小数*/
scanf("%d",&b);
printf("is %ld",(int)(x*pow(10,b)));
}
精确小数的 可以加
do
{
}while(x<0.0000000001);/*数字自己定*/
的代码
希望对你有所帮助!本回答被网友采纳
第2个回答 2019-09-25
#include
<math.h>
main()
{
int
n,i,b;
long
a=1;
double
e,x;
printf("Input
n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a*=i;
e+=1.0/a;
}
printf("e=%lf",e);
x=e-(int)e;
printf("
input
bit
b(1~14):");/*这边给您输出最多14位的小数*/
scanf("%d",&b);
printf("is
%ld",(int)(x*pow(10,b)));
}
精确小数的
可以加
do
{
}while(x<0.0000000001);/*数字自己定*/
的代码
希望对你有所帮助!
第3个回答 2012-11-11
程序没多大难度 但是精确小数位数有点不好办
追问那精确到200位 会吗 会的话也可以给分
第4个回答 2018-01-12
#include <math.h>
main()
{
int n,i,b;
long a=1;
double e,x;
printf("Input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a*=i;
e+=1.0/a;
}
printf("e=%lf",e);
x=e-(int)e;
printf(" input bit b(1~14):");/*这边给您输出最多14位的小数*/
scanf("%d",&b);
printf("is %ld",(int)(x*pow(10,b)));
}
精确小数的 可以加
do
{
}while(x<0.0000000001);/*数字自己定*/
的代码
希望对你有所帮助!