C語言:遞歸求和求f(n)的值可以采用以下的代碼:
目前創(chuàng)新互聯(lián)已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、東營區(qū)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
#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),將無符號整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時
double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval),用戶修改數(shù)學(xué)錯誤返回信息函數(shù)(沒有必要使用)
unsigned int _clear87() 清除浮點(diǎn)狀態(tài)字并返回原來的浮點(diǎn)狀態(tài)
void _fpreset() 重新初使化浮點(diǎn)數(shù)學(xué)程序包
unsigned int _status87() 返回浮點(diǎn)狀態(tài)字
參考資料來源:百度百科-C語言函數(shù)
#include stdio.h
#include stdlib.h
int b=0;
int sum(int *a,int n)
{
int temp;
if(0==n)
return 0;
else
{
temp=sum(a,n-1);
b=b+a[n-1];
}
return b;
}
int main (void)
{
int i;
int a[6]={0};
printf("請輸入一組數(shù)據(jù):");
for(i=0;i=5;i++)
{
scanf("%d",a[i]);
}
printf("\n\n");
printf("所有元素之和num=%d",sum(a,6));
printf("\n\n");
system("PAUSE");
return 0;
}
#include?stdio.h
int?add(int?*a,?int?n)
{
if(n==1)?return?a[0];
return?a[0]+add(a+1,?n-1);
}
int?main()
{
int?a[5]={1,3,5,7,9};
printf("%d\n",?add(a,5));
return?0;
}
#include stdio.h
int recr(int n) // 遞歸函數(shù)
{
if (n = 1) return n; // 遞歸退出條件
return n + recr(n - 1);
}
int main()
{
int n = 0;
printf(" n = ");
scanf("%d", n);
printf("sum = %d\n", recr(n));
return 0;
}
執(zhí)行結(jié)果:
n?=?100
sum?=?5050
不過說實(shí)話,這種問題真心不適合用遞歸來解決,反而會干擾初學(xué)者對遞歸和循環(huán)的理解