c语言求助,第十三题

c语言求助,第十三题第十三题怎么做
2025-02-25 10:11:00
推荐回答(2个)
回答1:

#include           /*第一种n由键盘输入*/
main()
{
int n,i,t=1;               /*t是求阶乘的变量,s是求总和的变量*/
double s=1;
scanf("%d"&n);
for(i=1;i<=n;i++)
{
t=t*i;
s=1.0/t;                   /*t为整型,所以分子1要写成1.0*/
}
printf("%lf",s);
}



#include          /*第二种,最后一项小于10负6次方*/
main()
{
int n=1,t=1;
double s=1;
do
{
t=t*n;
s=1.0/t;
n++;
}
while(n<=1e6);             /*也可以换成while(1.0/n>=1e-6)*/
printf("%lf",s);
}

回答2:

#include 

int main(void) 
{
double e,t;
int n,i;
scanf("%d",&n);
for(i=1,e=1,t=1;i<=n&&1.0/n>1e-6;++i)
{
t*=i;
e+=1.0/t;
}
printf("%lf\n",e);
return 0;
}