#include iostream
網站建設公司,為您提供網站建設,網站制作,網頁設計及定制網站建設服務,專注于成都企業(yè)網站建設,高端網頁制作,對成都邊坡防護網等多個行業(yè)擁有豐富的網站建設經驗的網站建設公司。專業(yè)網站設計,網站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化優(yōu)化,H5建站,響應式網站。
#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()函數進行遞歸,這是個從1加到n的遞歸函數
// 1 第一天
// 3 (2+1) 第二天
// 6 (3+2+1) 第三天
// 10 (4+3+2+1) 第四天
這是一個遞歸調用
左邊執(zhí)行完了再執(zhí)行右邊,你可以通過調試來驗證答案哦
原因:函數調用?運算符"()"的優(yōu)先級高于算術運算符?"+"。遞歸函數會一層層展開,直到a == 2 或 a == 1結束。
代碼中有兩點要注意下:
return 1 與 return 2 后面的 printf("\n"); 不會被執(zhí)行。因為return語句會結束該被調函數。
main()函數最后要有返回值。
#includestdio.h
int s=0;
main()
{
int sum(int n);
int n;
printf("please input n:"); /*輸入要輸數的個數*/
scanf("%d",n);
sum(n);
printf("sum = %d\n",s);
}
int sum(int n)
{
int m;
if(n==0)return 0;
else
{
printf("please input a num:");
scanf("%d",m);
s+=m;
return sum(n-1);
}
}
C語言:遞歸求和求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;
}
擴展資料:
數學函數
char *ecvt(double value,int ndigit,int *decpt,int *sign),將浮點數value轉換成字符串并返回該字符串
char *fcvt(double value,int ndigit,int *decpt,int *sign),將浮點數value轉換成字符串并返回該字符串
char *gcvt(double value,int ndigit,char *buf),將數value轉換成字符串并存于buf中,并返回buf的指針
char *ultoa(unsigned long value,char *string,int radix),將無符號整型數value轉換成字符串并返回該字符串,radix為轉換時
double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval),用戶修改數學錯誤返回信息函數(沒有必要使用)
unsigned int _clear87() 清除浮點狀態(tài)字并返回原來的浮點狀態(tài)
void _fpreset() 重新初使化浮點數學程序包
unsigned int _status87() 返回浮點狀態(tài)字
參考資料來源:百度百科-C語言函數