C语言递归法逆向字符输出

可以快点吗

哥哥我帮你写了个!

#include <stdio.h>
#include <string.h>

#define STR_LEN 1024

void InversePrint(char *str)
{
if (*str != '\0')
{
InversePrint(str + 1);
printf("%c", *str);
}
}

int main(void)
{
char string[STR_LEN] = {0};

printf("Please input a string: \n");
scanf("%s", string);
InversePrint(string);
printf("\n");

return 0;
}

运行例子:

Please input a string:
abcdefghijklmnopqrstuvwxyz
zyxwvutsrqponmlkjihgfedcba
Press any key to continue
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-16
楼上的程序简化
//函数 reverse 把 字符串 c中的字符 倒置
void reverse(char *c,int k){
char tmp;
if(k>1){
reverse(c+1,k-2);
tmp=c[0];
c[0]=c[k-1];
c[k-1]=tmp;
}
}
int main()
{
char *c="abcdefg";
int k=strlen(c);
reverse(c,k);
puts(c);
getch();
}
第2个回答  2010-07-17
#include <stdio.h>

void InversePrint(char *str)
{
if (*str)
InversePrint(str + 1);
printf("%c", *str);
}

void main(void)
{
InversePrint("djsfko");
}
第3个回答  2010-07-05
给你
#include<stdio.h>
void inverse(char *s,char *t){
char k;
if(*s != '\0'){
k=*s; *s=*t; *t=k;
s++; t--;
inverse(s,t);
}
}

void main(){
char str[80],*p;
gets(str);
if((strlen(str)&1)==0){
p=str+strlen(str)/2;
inverse(p,p-1);
}
else{
p=str+strlen(str)/2+1;
inverse(p,p-2);
}

puts(str);
}
第4个回答  2012-05-17
void Reverse(char s[],int n)

{

if(s[n])
Reverse(s,n+1);

printf("%c ",s[n]);

}
第5个回答  2010-07-05
//---------------------------------------------------------------------------

#include <stdio.h>

void reverse(void)
{
char c;
if ((c=getchar())!='\n') {
reverse();
putchar(c);
}
}
int main(void)
{
printf("Please input a string: \n");
reverse();
return 0;
}
//---------------------------------------------------------------------------
相似回答