十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
#include
牧野ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
#include
/*求n的
階乘
,遞歸,
分母
部分
*
結(jié)束條件為:1的階乘=1
*
遞歸時,一定要有結(jié)束條件
*/
int
factorial
(n)
{
if(n==1)
//遞歸結(jié)束條件,1的階乘為1
return
1;
else
return
n*factorial(n-1);
//n的階乘為n乘以(n-1)!
}
int
main()
{
int
n,x;
size_t
i;
//i為
無符號整數(shù)
double
re=0;
printf("input
n
and
x:");
scanf("%d%d",n,x);
//輸入n和x的值
for(i=1;i=2*n-1;i+=2)
{
/*pow函數(shù)求的是x的i次方,分母為
i的
階乘。本部分可以優(yōu)化,因為i的階乘算出來了,所以i+2的階乘就是i的階乘*(i+1)*(i+2),不用重復來計算階乘。自己可以試試*/
re
+=
pow(x,i)/factorial(i);
}
printf("\nn=%d\tx=%d\tresult=%f\n",n,x,re);//打印出
最后的結(jié)果
return
0;
}
舉一個用遞歸調(diào)用函數(shù)求輸入非負整數(shù)的階乘的例子,如下:
//#include?"stdafx.h"http://If?the?vc++6.0,?with?this?line.
#include?"stdio.h"
int?fact(int?n){
if(n==1?||?n==0)?return?1;
else?return?n*fact(n-1);
}
int?main(void){
int?x;
while(1){
printf("Input?x(int?12=x=0)...\nx=");
if(scanf("%d",x),x=0??x=12)//x12時會使結(jié)果溢出
break;
printf("Error,redo:?");
}
printf("%d!?=?%d\n",x,fact(x));
return?0;
}
這個是遞歸函數(shù):
recursion(int x,int y)
{
if(y-1 == x)return x;
else return x+recursion(x+1);
}
使用的時候用另個函數(shù)調(diào)用。
1、首先打開vc6.0,新建一個vc項目。
2、添加頭文件。
3、添加main主函數(shù)體。
4、定義a、b、t、r四個變量。
5、使用scanf給a、b變量賦值。
6、如果 a b,交換a、b。
7、使用while不斷求余。
8、使用printf打印最大公約數(shù)和最小公倍數(shù)。
10、運行程序,看看結(jié)果。