#include stdio.h

成都創(chuàng)新互聯(lián):公司2013年成立為各行業(yè)開(kāi)拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為1000+公司企業(yè)提供了專業(yè)的網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站推廣服務(wù), 定制網(wǎng)站制作由設(shè)計(jì)師親自精心設(shè)計(jì),設(shè)計(jì)的效果完全按照客戶的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺(jué)效果,策劃師分析客戶的同行競(jìng)爭(zhēng)對(duì)手,根據(jù)客戶的實(shí)際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。
unsigned int func(unsigned int n)
{
return (n == 1)? 1 : n * func(n-1);
}
int main(void)
{
unsigned int n = 0, rval = 0;
printf("Input data:");
scanf("%u", n);
if (n == 0)
{
printf("Input error.\n");
return -1;
}
rval = func(n);
printf("%u!=%u\n", n, rval);
return 0;
}
#include iostream
#include iomanip
using namespace std;
int add(int n);
int main()
{
int i=100;
int b;
b=add(100);
coutbendl;
}
int add(int n)
{
if(n==1)
return 1;
else
return n+add(n-1);
},利用add()函數(shù)進(jìn)行遞歸,這是個(gè)從1加到n的遞歸函數(shù)
其實(shí)這里定義了t是多余的。
這個(gè)函數(shù)可以這樣寫:
int
sum(int
n)
{
if(n1)
return
0;
else
return
n+sum(n-1);
}
其實(shí)遞歸調(diào)用是這樣的。如n=3,第一次調(diào)用sum(n),n=1
所以執(zhí)行return
n+sum(n-1),在函數(shù)返回之前,先會(huì)計(jì)算sum(n-1)……最后sum(0)=0,然后再一層一層的返回。最后會(huì)返回5了。
1、打開(kāi)vc6.0,新建一個(gè)vc項(xiàng)目,添加頭文件,添加一個(gè)空的main函數(shù),這里先定義一個(gè)用來(lái)求階乘的函數(shù),函數(shù)的參數(shù)為i,階乘就是不斷的和前面的一個(gè)數(shù)相乘,這里就是不斷和fact函數(shù)相乘,之后編寫主函數(shù)的內(nèi)容:
2、在main函數(shù)定義int類型變量sum,然后調(diào)用fact()將返回值賦予sum,最后使用printf打印sum的值:
3、最后編寫程序好后,來(lái)運(yùn)行程序觀察結(jié)果,這里可以看到打印出了6的階乘。以上就是C語(yǔ)言用遞歸的方式求階乘的過(guò)程:
C語(yǔ)言:遞歸求和求f(n)的值可以采用以下的代碼:
#includestdio.h
int?sum(int?n)
{
if(!n)
return?0;
else
return?n?+?sum(n?-?1);
}
int?main()
{
int?n;
scanf("%d",n);
printf("%d\n",sum(n));
return?0;
}
擴(kuò)展資料:
數(shù)學(xué)函數(shù)
char *ecvt(double value,int ndigit,int *decpt,int *sign),將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串
char *fcvt(double value,int ndigit,int *decpt,int *sign),將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串
char *gcvt(double value,int ndigit,char *buf),將數(shù)value轉(zhuǎn)換成字符串并存于buf中,并返回buf的指針
char *ultoa(unsigned long value,char *string,int radix),將無(wú)符號(hào)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)
double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval),用戶修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒(méi)有必要使用)
unsigned int _clear87() 清除浮點(diǎn)狀態(tài)字并返回原來(lái)的浮點(diǎn)狀態(tài)
void _fpreset() 重新初使化浮點(diǎn)數(shù)學(xué)程序包
unsigned int _status87() 返回浮點(diǎn)狀態(tài)字
參考資料來(lái)源:百度百科-C語(yǔ)言函數(shù)
#include "stdio.h"
main()
{int i,sum=0;
for(i=1;i=100;i++)
sum=sum+i;
printf("%d",sum);
}
這個(gè)是簡(jiǎn)單的求1~100的和的小程序,如果你需要N為更大的數(shù)那么把程序中的100換成你需要的數(shù)就可以,希望能幫你的忙!
標(biāo)題名稱:c語(yǔ)言遞歸函數(shù)求1n和,c語(yǔ)言遞歸求1!+2!
URL分享:http://chinadenli.net/article19/dsggegh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)、微信公眾號(hào)、Google、營(yíng)銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)