亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如下其中在1/n!小于等于10^(-5)時結束?

如下其中在1/n!小于等于10^(-5)時結束?

C++
不負相思意 2022-06-01 11:11:04
用while或do-while語句編寫程序,計算e約等于1+1/1!+1/2!+…+1/n!
查看完整描述

3 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

方法1
#include<stdio.h>
void main()
{
float e,a; int i,n=0; /*涉及到小數運算要用浮點型變量*/
e=1,a=1; /*a=1在后面有乘積運算*/
for(i=1;1/a>1e-5;i++) /*條件循環語句*/
{
a*=i; /*級乘的算法*/
e+=1/a ; /*e的運算方法*/
n++;
}

printf("%f,n=%d\n",e,n);
}

方法2
#include <stdio.h>
int main( )
{
float s = 1, n = 1;int t = 1;
while ( 1 / n >= 0.00001 )
{
s+=1/n;
t++;
n=n*t;
}
printf("%f,n=%d\n", s,t);
return 0;
}

方法3
#include<stdio.h>
void main()
{
int i=1,j=1;
float e=1.0,k;
do{
j=i*j;
k=1.0/j;
e=e+k;
i++;
}while(k>1e-5);/*判斷誤差是否小于給定的誤差限E=0.00001 */
printf("%f,n=%d\n",e,i);
}


查看完整回答
反對 回復 2022-06-06
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

//用標準C++寫的,通過編譯

#include<iostream>
using namespace std;
int main()
{
double e;
double temp=(double)1/1;
double total=0;
int n=1;
int a=1;
while(temp>0.00001)
{total+=temp;
n++;
a*=n;
temp=(double)1/a;
}
cout<<temp<<endl;

}



查看完整回答
反對 回復 2022-06-06
?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

#include<stdio.h>
void main(void)
{
float e=1,t=1;
do{
e+=1/t;
t*=t+1;
}while(t>0.00001);
printf("%f",e);
getchar();
}


查看完整回答
反對 回復 2022-06-06
  • 3 回答
  • 0 關注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號