C语言递归法逆向字符输出 c语言 用递归反序输出字符

C\u8bed\u8a00 \u9012\u5f52\u5012\u5e8f\u8f93\u51fa\u5b57\u7b26\u4e32

#includevoid f(){char ch;if((ch = getchar())!='\n')f();if(ch!='\n') printf("%c", ch); //\u8fd9\u4e2a\u8f93\u51fa\u8bed\u53e5\u662f\u5199\u5728\u4e86\u9012\u5f52\u8c03\u7528\u4e4b\u540e\uff0c\u4f1a\u88ab\u538b\u6808\uff0c\u5148\u538b\u6808\u7684\u540e\u8f93\u51fa\uff0c\u6240\u4ee5\u53ef\u4ee5\u5b9e\u73b0\u9006\u5e8f\u8f93\u51fa\uff0c\u5982\u679c\u628a\u8fd9\u4e2a\u8bed\u53e5\u79fb\u52a8\u5230f()\uff1b\u5c31\u4e0d\u4f1a\u538b\u6808\u4e86}void main(){f();printf("\n");

\u628a \u201cprintf("%c",&a[c]);\u201d\u6539\u6210\u201cprintf("%c",a[c]);\u201d

\u6ce8\u610f&\u7684\u533a\u522b\u3002

哥哥我帮你写了个!

#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

楼上的程序简化
//函数 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();
}

#include <stdio.h>

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

void main(void)
{
InversePrint("djsfko");
}

给你
#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);
}

void Reverse(char s[],int n)

{

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

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

}

//---------------------------------------------------------------------------

#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;
}
//---------------------------------------------------------------------------

  • 姹c璇█鐨瀛楃涓閫嗗簭杈撳嚭鐨閫掑綊绠楁硶
    绛旓細1锛庡垱寤轰竴涓柊鐨勯」鐩拰銆俢鏂囦欢锛岃緭鍏ュご鍜屼富瑕佸姛鑳姐2锛庡0鏄庤皟鐢ㄧ殑鍑芥暟杩斿洖骞跺畾涔夊彉閲忕被鍨嬨3锛庤緭鍏ヤ竴涓暣鏁帮紝濡備笅鍥炬墍绀恒4锛庝娇鐢╥f璇彞鏉ョ‘瀹氭暣鏁版槸鍚︿负璐熸暟锛屾垨鑰呬娇鐢╬utchar鏉ユ墦鍗拌礋鍙枫5锛庤皟鐢ㄤ竴涓嚱鏁帮紝濡備笅鍥炬墍绀恒6锛庡畾涔夊嚱鏁扮殑杩斿洖绫诲瀷鍜屽弬鏁扮被鍨嬨7锛庝娇鐢╥f璇彞纭畾鏄惁鍙墿涓嬩竴涓瓟妗堛傚鏋...
  • C璇█缂栧啓: 鍒╃敤閫掑綊鍑芥暟璋冪敤鏂瑰紡,灏嗘墍杈撳叆鐨5涓瀛楃,浠ョ浉鍙嶉『搴忔墦鍗板嚭 ...
    绛旓細include<conio.h> include<stdio.h> void reverse(int i){ char c;if(i>0){c=getch();reverse(i-1);printf(" %c ",c);} } main(){ reverse(5);}
  • C璇█瀹炵幇:鍒╃敤閫掑綊鍑芥暟璋冪敤鏂瑰紡,灏嗘墍杈撳叆鐨5涓瀛楃,浠ョ浉鍙嶉『搴忔墦鍗板嚭鏉...
    绛旓細include "stdio.h"main(){ int i=5;void palin(int n);printf("\40:");palin(i);printf("\n");} void palin(n)int n;{ char next;if(n<=1){ next=getchar();printf("\n\0:");putchar(next);} else { next=getchar();palin(n-1);putchar(next);} } ...
  • C璇█ 閫掑綊鍊掑簭杈撳嚭瀛楃涓
    绛旓細include<stdio.h>void f(){char ch;if((ch = getchar())!='\n')f();if(ch!='\n') printf("%c", ch); //杩欎釜杈撳嚭璇彞鏄啓鍦ㄤ簡閫掑綊璋冪敤涔嬪悗锛屼細琚帇鏍堬紝鍏堝帇鏍堢殑鍚庤緭鍑猴紝鎵浠ュ彲浠ュ疄鐜伴嗗簭杈撳嚭锛屽鏋滄妸杩欎釜璇彞绉诲姩鍒癴()锛涘氨涓嶄細鍘嬫爤浜唥void main(){f();printf("\n");
  • c璇█ 鍒╃敤閫掑綊鍑芥暟璋冪敤鏂瑰紡,灏嗘墍杈撳叆鐨5涓瀛楃,浠ョ浉鍙嶉『搴忔墦鍗板嚭鏉...
    绛旓細include <stdio.h>void f(int n){ char ch; if(n>0){ ch=getchar(); f(n-1); } else return; printf("%c",ch);}int main(void){ f(5); printf("\n"); return 0;}
  • 浣跨敤C璇█缂栫▼:杈撳叆涓涓瀛楃,灏嗕粬鍊掕繃鏉杈撳嚭,鐢ㄤ簲绉嶄互涓鏂规硶
    绛旓細鍫嗘爤娉曪紝閫掑綊鍑芥暟璋冪敤娉曪紝鏂熬娉曪紝閫嗗簭璇瀛楃椤哄簭鎻掑叆鐨勬柟娉銆侀绔『搴忓熬绔嗗簭瀛楃浜ゆ崲鏂规硶娉
  • C璇█ 棰樼洰 缂栧啓涓涓嚱鏁,瀹屾垚灏嗕竴涓瀛楃涓涓殑瀛楃閫嗗簭杈撳嚭,鍗虫渶鍚庝竴...
    绛旓細杩欎釜绠鍗 include<stdio.h> include<string.h> void fun(char *str){ int i=strlen(str)-1;while(i>=0){ printf("%c \n",str[i]);i--;} } 鍏跺疄鎴戞湁涓簲鐢ㄦ寚閽堝仛鎴閫掑綊鍑芥暟鐨勬兂娉曚粖澶╂椂闂存湁鐐规櫄涓嶅仛浜
  • C璇█瀛楃涓閫嗙疆绋嬪簭涓嶆噦!~
    绛旓細#include<stdio.h> 鈶爒oid reverse(){ char ch; //瀹氫箟chif((ch=getchar())!='\n') //浠庨敭鐩樻帴鍙椾竴涓瓧绗︼紝濡傛灉涓嶆槸鎹㈣绗︽潯浠朵负鐪燂紝鎵ц鈶★紝鍚﹀垯鎵ц鈶 鈶everse(); //杩斿洖鈶閫掑綊鎺ユ敹瀛楃 鈶f(ch!='\n') //鍒ゆ柇ch鏄惁涓烘崲琛岀锛屾潯浠朵负鐪熷埌鈶f墽琛 鈶utchar(ch); //杈撳嚭瀛楃 r...
  • 姹c璇█澶х璇︾粏璇存槑杩欎釜绋嬪簭(杈撳叆瀛楃涓,鐒跺悗鍙嶅悜杈撳嚭)
    绛旓細鍘绘墽琛屼笂娆℃湭鎵ц鐨勮鍙f (c != '\n') putchar(c);杩欐椂灏杈撳嚭浜嗗掓暟绗竴 涓潪绌瀛楃锛屾鍚庡啀杩斿洖鍊掓暟绗笁娆¤皟鐢ㄧ殑鏂偣杈 鍑鍊掓暟绗簩涓潪绌哄瓧绗︼紝浠ユ绫绘帹鈥︹﹀疄鐜板掑簭杈 鍑恒*/ putchar(c);}void main(){ reverse(); //绋嬪簭寮濮嬶紝绗竴娆¤皟鐢ㄨ嚜瀹氫箟鍑芥暟...
  • C璇█鎬庝箞鍦ㄤ笉鐢ㄦ暟缁勭殑鎯呭喌涓嬪皢杈撳叆鐨瀛楃涓鍊掑簭杈撳嚭?
    绛旓細閭e氨浣跨敤鎸囬拡浜唅nt main(void ){ char* str="Hello china";char* p = str; char* end;while(*p!='\0'){ end=p;p++锛泒//姝ゅ惊鐜槸涓轰簡鎵惧埌瀛楃涓鐨勭粨灏惧瓧绗 while(end!=str) {printf("%c",*end); end--锛泒 //浠庢渶鍚庝竴涓瓧绗﹀紑濮閫嗗悜杈撳嚭锛岀洿鑷崇涓涓瓧绗 printf("%c\n",*end...
  • 扩展阅读:c语言将12345倒序输出 ... c++字符串逆序输出 ... c语言递归经典例题 ... c语言大作业题目及答案 ... c语言逆向输出1234 ... c语言删除特定字符 ... c语言编译的四个步骤 ... c语言基础知识必背 ... c语言递归反向输出字符串 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网