//循環(huán)實(shí)現(xiàn)
創(chuàng)新互聯(lián)公司是專業(yè)的永平網(wǎng)站建設(shè)公司,永平接單;提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行永平網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
#includestdio.h
int?main()
{
int?n,?t?=?0;
scanf("%d",?n);
if(n=0)return?0;
else
while(n){
t?=?t?*?10?+?n?%?10;
n?/=?10;
}
printf("%d",?t);
return?0;
}
簡單修改一下就可以變遞歸了。代碼如下
#includestdio.h
int?fanzhuan(int?n,int?t){
t?=?t?*?10?+?n?%?10;
n?/=?10;
if(n0)return?fanzhuan(n,t);
return?t;
}
int?main()
{
int?n,?t?=?0;
scanf("%d",?n);
if(n=0)return?0;
else?t=fanzhuan(n,t);
printf("%d",?t);
return?0;
}
標(biāo)個(gè)記號準(zhǔn)備上傳對大神的源碼分析。好了,我分析了上樓大神的代碼實(shí)現(xiàn),具體參考他的代碼,分享下。注:可以看看《算法精解》Kyle Loudon著 ?或者《數(shù)據(jù)結(jié)構(gòu)》?主編 安訓(xùn)國?他們說的堆棧原理。
#include?stdio.h
char*?dg(char*?instr,?char*?outstr,?char*?outstr2)?
{
if?(*instr?==?0)?
{
*outstr?=?0;
return?outstr2;
}
*(outstr?+?1)?=?*instr;
outstr?=?dg(instr?+?1,?outstr?+?2,?outstr2);
/*?下兩句一直不執(zhí)行,直到outstr?=?dg(instr?+?5,?outstr?+?10,?outstr2)返回后才執(zhí)行,其后不斷執(zhí)行后三句!*/
*outstr?=?*instr?-?32;
return?outstr?+?2;
}
int?main()
{
char?buf[50];
dg("aybdx",?buf,?buf);
puts(buf);
return?0;
}
額,抽象的說就是解決一個(gè)問題時(shí)重復(fù)使用一個(gè)動作,那么就可以用遞歸的方式來解決,告訴電腦重復(fù)做這個(gè)動作就行.結(jié)合看一些遞歸算法的簡單程序,應(yīng)該好懂些.
int findf( int n ){
int a,b,c;
b = n % 2;
c = 0;
if ( n4){
if (b==c){
a=findf( n-1 ) + findf( n-3 );
}
else{
a=findf( n-2 ) + findf( n-4 );
}
return a;
}
else if ( n 0){
return -1;
}
else{
return 1;
}
}