#include stdio.h
創(chuàng)新互聯(lián)建站擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊,在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕10年,專業(yè)且經(jīng)驗豐富。10年網(wǎng)站優(yōu)化營銷經(jīng)驗,我們已為成百上千家中小企業(yè)提供了網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計解決方案,按需定制,設(shè)計滿意,售后服務(wù)無憂。所有客戶皆提供一年免費(fèi)網(wǎng)站維護(hù)!
#include string.h
#define N 1//這里的1可以改,改成10同時可以玩10個串串
void printfmm(char *s,int len){
if(len==0){printf("%c\n",s[len-1]);return;}
else {printf("%c",s[len-1]);printfmm(s,len-1);}
}
void main() {
char str[N][30],t;
int i,s[52]={0},j;
printf("上串串:");
for(i=0;iN;i++)
gets(str[i]);
for(i=0;iN;i++)
printfmm(str[i],strlen(str[i]));
}
#includestdio.h
void?f()
{
char?ch;
if((ch?=?getchar())!='\n')
f();
if(ch!='\n')??printf("%c",?ch);?//這個輸出語句是寫在了遞歸調(diào)用之后,會被壓棧,先壓棧的后輸出,所以可以實現(xiàn)逆序輸出,如果把這個語句移動到f();就不會壓棧了
}
void?main()
{
f();
printf("\n");
#includestdio.hvoidrev();intmain(){rev();return0;}voidrev(){charc;c=getchar();if(c!='\n'){rev();printf("%c",c);}}
這個倒序的函數(shù),就是如果沒有讀到回車符,就繼續(xù)遞歸調(diào)用函數(shù),直到讀到回車符時才遞歸返回,這時才輸出剛才地壓到棧里的前面讀到的字符,所以,輸出是逆序的。
樓主你好
具體代碼如下:
#include
void
reverse(int
n)//遞歸逆序輸出n
{
if(!n)
return;
printf("%d",n%10);
reverse(n/10);
}
int
main(void)
{
int
n;
printf("enter
n:");
scanf("%d",n);
reverse(n);
printf("\n");
return
0;
}
希望能幫助你哈