#include stdio.h
十年專注成都網(wǎng)站制作,成都定制網(wǎng)頁設(shè)計,個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)頁設(shè)計,高端網(wǎng)頁制作,對成都報廢汽車回收等多個方面,擁有多年的網(wǎng)站設(shè)計經(jī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;
}
你聲明的sum函數(shù)是沒有參數(shù)的,你調(diào)用時,又給他了參數(shù),所以報sum函數(shù)參數(shù)調(diào)用錯誤
另外,你的函數(shù)實現(xiàn)也有問題,修改一下:
#include?"stdio.h"
int?pl(int?n);
int?sum(int?n);
void?main()
{
int?x,y,z,m;
scanf("%d",m)
x=pl(m);
y=sum(m);
printf("x=%d\n",x);
printf("y=%d\n",y);
}
int?pl(int?n)//求1*2*3*4*..*n
{
if(n==1)
return?1;
else
return?pl(n-1)*n;?
}
int?sum(int?n)?//求1+2+3+...+n
{
if(n==1)
return?1;
else
return?sum(n-1)+n;??
}
1、首先本題的思路已經(jīng)給出,要求用遞歸算法。
2、程序源代碼如下:
#includestdio.h
int sum(int n);
int main()
{
int i=100;
printf("1~%d的和為:\n",i);
printf("%d\n",sum(100));
return 0;
}
//下面是一個遞歸求和函數(shù)
int sum(int n)
{
if (n==1)
return 1;
else
return n+sum(n-1);
}
3、程序的輸出結(jié)果如下:
#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ù)進行遞歸,這是個從1加到n的遞歸函數(shù)
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;
}
擴展資料:
數(shù)學函數(shù)
char *ecvt(double value,int ndigit,int *decpt,int *sign),將浮點數(shù)value轉(zhuǎn)換成字符串并返回該字符串
char *fcvt(double value,int ndigit,int *decpt,int *sign),將浮點數(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ù)學錯誤返回信息函數(shù)(沒有必要使用)
unsigned int _clear87() 清除浮點狀態(tài)字并返回原來的浮點狀態(tài)
void _fpreset() 重新初使化浮點數(shù)學程序包
unsigned int _status87() 返回浮點狀態(tài)字
參考資料來源:百度百科-C語言函數(shù)
#include?"stdio.h"
int?sum(int?n){
if(n==1)
return?1;
return?n+sum(n-1);
}
int?main(void){
int?k;
while(1){
printf("Input?k(int?0k=10000)...\nk=");
if(scanf("%d",k)??k0??k=10000){
printf("The?sum?of?them?is?%d\n",sum(k));
break;
}
printf("Error,?must?be?0k=10000:?");
fflush(stdin);
}
return?0;
}
文章名稱:累加求和用遞歸函數(shù)c語言,c++累加求和函數(shù)
文章鏈接:http://sd-ha.com/article18/dsippgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、定制網(wǎng)站、用戶體驗、網(wǎng)站營銷、企業(yè)網(wǎng)站制作、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)