精华内容
下载资源
问答
  • 逆序输出字符串最可能先想到的是遍历时用栈保存字符,最后出栈。既然栈可以实现,那我们也可以用递归的方法来实现,并且一定会比较简单。 除了以上两种,还可以对字符串进行原地逆置,最后再将该字符串输出即可。 ...

    前言

    • 逆序输出字符串最可能先想到的是遍历时用栈保存字符,最后出栈。既然栈可以实现,那我们也可以用递归的方法来实现,并且一定会比较简单。
    • 除了以上两种,还可以对字符串进行原地逆置,最后再将该字符串输出即可。

    一、简单递归实现

    void fun(char *s)
    {
    	if(*s!='\0') // 递归终止条件
    	{
    		fun(s+1); // 注意这里是先递归再输出,这样就可以从后面开始逆序输出
    		printf("%c",*s);	
    	}
    } 
    
    int main(int argc, char *argv[]) {
    	char s[20];
    	gets(s); 
    	printf("原始字符串:%s\n",s);
    	printf("逆序输出字符串");
    	fun(s);
    	return 0;
    }
    

    运行结果
    在这里插入图片描述

    二、 原地逆置实现

    void revstr(char *s)
    {
    	if(s!=NULL)
    	{
    		char *result = s; //保存字符串首地址,便于输出 
    		int len = strlen(s);  
    		char *r = s+len-1; // 定位到最后一个字符 
    		char temp;
    		while(r>s)  // 两个指针相向而行 
    		{
    			temp = *s;
    			*s = *r;
    			*r = temp;
    			s++;
    			r--;
    			 
    		}
    		printf("%s",result);
    	}
    }
    int main(int argc, char *argv[]) {
    	char s[20];
    	gets(s); 
    	printf("原始字符串:%s\n",s);
    	printf("逆序输出字符串");
    	revstr(s);
    	return 0;
    }
    

    在这里插入图片描述

    展开全文
  • c语言逆序输出字符串

    2015-05-20 09:57:49
    只用简单几句话,实现逆序输出.使用gets和putchar来实现
  • C语言逆序输出字符串

    2020-09-25 21:22:34
    #include <stdio.h> #include <stdlib.h> #include <string.h> void Reverse(const char *str, char *ptr); int main() { char str[100]; char ptr[100]; printf("Input a string... printf(...

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    void Reverse(const char *str, char *ptr);
    
    int main()
    {
        char str[100];
        char ptr[100];
        printf("Input a string:");
        gets(str);
        Reverse(str, ptr);
        printf("Inversed results:%s\n", ptr);
    }
    void Reverse(const char* str, char* ptr) 
    {
        int n = strlen(str);
        int i;
    
        for (i = 0; i <= n; i++) {
            ptr[i] = str[n - i - 1];
        }
        ptr[i - 1] = '\0';
    }

     

    展开全文
  • C语言逆序字符串

    2018-11-24 22:08:46
    题目描述:写一函数使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。...抓住题中的关键字:输入字符串逆序输出 代码如下: #include<stdio.h> #include<string.h> int mai...

    题目描述:写一函数使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。

    输入:一行字符

    输出:逆序后的字符串

    样例输入:123456abcdef&

    样例输出: &fedcba654321

     

    抓住题中的关键字:输入字符串,逆序输出

    代码如下:

    #include<stdio.h>
    #include<string.h>
    int main()
    {
      int i,j;
      char a[1000];
      scanf("%s",&a);
      i=strlen(a);
      for(j=i-1;j>=0;j--)
      {
       printf("%c",a[j]);
      }printf("\n");
    return 0;
    }

     

     

     

    展开全文
  • void reverse()//逆序输出字符串 { char str[] = “I love China”; int len = strlen(str); for (int i = 0; i < len/2; i++) { char t = str[i]; str[i] = str[len - 1 - i]; str[len - 1 - i] = t; } puts(str...
    #include<stdio.h>
    #include<string.h>
    	void reverse()//逆序输出字符串
    	{
    		char str[] = "I love China";
    		int len = strlen(str);
    		for (int i = 0; i < len/2; i++)
    		{
    			char t = str[i];
    			str[i] = str[len - 1 - i];
    			str[len - 1 - i] = t;
    		}
    		puts(str);
    	}
    	int main()
    	{
    		reverse();
    		return 0;
    	}
    
    展开全文
  • printf("请输入字符:\n"); for(i=0;i;i++) scanf("%c",&a[i]); for(i=0;i;i++) Push(&S,a[i]); for(i=0;i;i++) Pop(&S,&a[i]); for(i=0;i;i++) printf("%c",a[i]); } int InitStack(SqStack *S) {S->base=(char *)...
  • C语言逆序输出字符串

    千次阅读 2016-05-06 11:19:35
    #include #include #include char* rstr(char *str){ int len,i=0,j; char *p; static char rstrs[20]; /* 这个可设置成全局... printf("字符串%s的逆序是:%s\n",str,rstrs); return EXIT_SUCCESS; }
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include#includevoidfun(char*ch1,char*ch2){inti,n(0),k;intlength;booljudge(true);for(length=0;*(ch1+length)!='\0';length++);//计算ch1长度for(i=length-1;...
  • c语言编程-按规则逆序输出字符串 #include<stdio.h> #include<string.h> int main() {int n; char a[100]; gets(a); n=strlen(a); for(int i=0,j=1;i<n-1;i++,j++) { for(int k=j;k>0;k--) ...
  • C语言实现对字符串逆序输出

    万次阅读 2017-09-08 16:51:10
    C语言实现对字符串逆序输出#include <stdio.h> #include <stdlib.h> #include <string.h> void Inverse(char str[], char ptr[]); int main() { char str[100]; char ptr[100]; printf("...
  • 该递归程序的目的:逆序输出字符串 递归的结束条件:遇到结束符号,回车换行或\0 递归的递推公式:本题无明显递推公式,但递归的逻辑为当递归返回的时候输出读入的字符即可 3 实现 #include <stdio.h> voi.....
  • 使用指针逆序输出字符串内容 二、代码 #include <stdio.h> #include<stdlib.h> #include<string.h> char *reback_sort(char *p) { int length = strlen§; char * current = NULL; int k = 0; ...
  • #include<stdio.h> #include<string.h> void cn(char s[]) { char b[1010]; int n,j=0,i;...i–)///借用一个数组,逆序存放// { b[j]=s[i]; j++; } strcpy(s,b);//在从新复制到原数组里// s[n]=’...
  • 初步了解递归,然后看了一个用递归逆序输出字符串的程序,自己写出来后总是和目标要求输出不一致经过慢慢的琢磨及单步跟踪后终于被我找出了问题! 先附代码 #include <stdio.h> void resever(char *str) {...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include void sub_reverse(char *);int main(){char str[256] = "The only way to learn a new programming language is by writing programs in it";...
  • 输出:逆序输出字符串中的单词,不保留开头和结尾的空格,相邻单词间仅保留一个空格 样例(□代表空格): •输入 □□□□Hello□□everyone,□we□are□Linuxer□ •输出 Linuxer□are□we□everone,□Hello #...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 271
精华内容 108
关键字:

c语言逆序输出字符串

c语言 订阅