2/1+3/2+5/3+8/5+...這個(gè)數(shù)列每項(xiàng)的分子、分母分別是Fibonacci數(shù)列的后一項(xiàng)與前一項(xiàng)。求這一數(shù)列前N項(xiàng)的和可采取N由鍵盤輸入,設(shè)一循環(huán)按Fibonacci數(shù)列規(guī)律求出分子與分母,將將分式轉(zhuǎn)換為浮點(diǎn)除法求值累加獲得最后結(jié)果。舉例代碼如下:
庫倫ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
#include?"stdio.h"
int?main(int?argc,char?*argv[]){
int?a,b,i,N;
double?s;
printf("Input?N(int?0N44)...\nN=");//大于43時(shí)int范圍溢出
if(scanf("%d",N)!=1?||?N1?||?N43){//保證輸入正確
printf("Input?error,?exit...\n");
return?0;
}
for(s=0.0,a=2,b=i=1;i=N;i++){//由此循環(huán)計(jì)算
s+=a/(b+0.0);//當(dāng)前項(xiàng)累加給s
a+=b;//下一項(xiàng)的分子是當(dāng)前項(xiàng)分子分母之和
b=a-b;//下一項(xiàng)分母是當(dāng)前項(xiàng)分子
}
printf("The?result?are?%.2f?(when?N=%d)\n",s,N);
return?0;
}
試運(yùn)行結(jié)果如下圖:
1、首先打開vc,點(diǎn)擊文件、新建;
2、選擇win32 console application 并在右側(cè)輸入工程的名字和地址,確定;
3、選擇一個(gè)空的工程,完成。
4、再次點(diǎn)擊文件、新建,
5、選擇c++ source file 并輸入文件名字,確定,
6、輸入如圖所示的代碼,這里以前十個(gè)斐波那契數(shù)列數(shù)為例,需要輸出其他個(gè)數(shù)請把5改成對應(yīng)數(shù)字的一半(比如要輸出前20個(gè),就把圖中的5改成10);
7、點(diǎn)擊右上角的編譯運(yùn)行按鈕。
8、成功地輸出了斐波那契數(shù)列的前十項(xiàng),如圖。
方法2:
#include stdlib.h
#include stdio.h
int Fibon1(int n)
{
if (n == 1 || n == 2)
{
return 1;
}
else
{
return Fibon1(n - 1) + Fibon1(n - 2);
}
}
int main()
{
int n = 0;
int m=0;
int ret = 0;
printf("請輸入要計(jì)算的斐波那契數(shù)列的前N項(xiàng)總數(shù):");
scanf("%d", n);
m=n;
do
{
ret += Fibon1(n);
n--;
} while (n0);
printf("前%d項(xiàng)目和ret=%d", m,ret);
getchar();
getchar();
return 0;
}
運(yùn)行結(jié)果:
方法4:
#include stdlib.h
#include stdio.h
int Fibon1(int n);
int main()
{
int n = 0;
int m=0;
int ret = 0;
printf("請輸入要計(jì)算的斐波那契數(shù)列的前N項(xiàng)總數(shù):");
scanf("%d", n);
m=n;
do
{
ret += Fibon1(n);
n--;
} while (n0);
printf("前%d項(xiàng)目和ret=%d", m,ret);
getchar();
getchar();
return 0;
}
int Fibon1(int n)
{
if (n == 1 || n == 2)
{
return 1;
}
else
{
return Fibon1(n - 1) + Fibon1(n - 2);
}
}
運(yùn)行結(jié)果:
main(){
int i,n,s=1,f[]={0,1,1};
printf("Please input the number of terms:");
scanf("%d",n);
if(n==0){s=0;f[2]=0;}
for (i=2;i=n;i++)
{ f[2]=f[1]+f[0];f[0]=f[1];f[1]=f[2];
s+=f[1];
}
printf("f(%i)=%i\n",n,f[2]);
printf("Sum(%i)=%i\n",n,s);
scanf("%d");
}
#include?stdio.h
int?main()
{double?x,y,t;
int?n,i;
scanf("%lf%d",x,n);
x*=x;
y=t=x;????????//第一項(xiàng)的值
for(i=2;i=n;i++)
{t*=x/(2*(i-1)*(2*i-1));????//從第2項(xiàng)起的值
y+=t;
}
printf("%lf\n",y);
return?0;
}
新聞標(biāo)題:c語言用函數(shù)實(shí)現(xiàn)前n項(xiàng)和,C語言前n項(xiàng)和
本文網(wǎng)址:http://m.newbst.com/article28/dssgccp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、自適應(yīng)網(wǎng)站、App開發(fā)、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)公司、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)