精华内容
下载资源
问答
  • #include <stdio.h> void Input() ... printf("反向输出:"); putchar(ch); } int main(void) { printf("请输入一个带感叹号字符串:"); Input(); printf("\n"); return 0; } ...
    #include <stdio.h>
    
    void Input()
    {
    	int ch;
    	if((ch=getchar())!='!')
    		Input();
    	else
    		printf("反向输出:");
    
    	putchar(ch);
    
    }
    int main(void)
    {
    
            printf("请输入一个带感叹号字符串:");
    		Input();
    
    		printf("\n");
            return 0;
    }
    
    展开全文
  • C语言实现(递归反向输出字符串

    千次阅读 2020-05-30 11:34:38
    递归反向输出字符串 利用递归函数调用方式, 将所输入的5个字符,以相反顺序打印出来。 //利用递归函数调用方式, //将所输入的5个字符,以相反顺序打印出来。 #include <stdio.h> int main() { printf...

    使用VS2019

    ISO C++14 标准 (/std:c++14)

    递归反向输出字符串

    利用递归函数调用方式,

    将所输入的5个字符,以相反顺序打印出来。

    //利用递归函数调用方式,
    //将所输入的5个字符,以相反顺序打印出来。
    #include <stdio.h>
    int main()
    {
        printf("请输入5个字符:\n");
       
        //申明函数
        void Reverse(int);
        int num = 5;
    
        //调用取反函数
        Reverse(num);
        return 0;
    }
    
    //定义取反的函数
    //输入5个字符,然后反向输出
    //理解递归,先递进,后回归的一个过程;
    void Reverse(int n){
        char str;
        if (n == 1) {
            //输入一个字符
            scanf_s("%c", &str);
    
            //开始反向回归
            printf("\n相反顺序输出结果:\n");
            //输出单个字符
            printf("%c",str);
        }else {        
            scanf_s("%c", &str);
            //进行递进
            Reverse(n - 1);
            //回归后执行如下
            printf("*");
            printf("%c", str);        
        }
    }

    展开全文
  • C语言利用递归调用使字符串反向输出,#为结束标志不做输出 #include<stdio.h> void print(){ char c; scanf("%c",&c); if(c!='#') print(); if(c!='#') printf("%c",c); } int main(){ print...

    C语言利用递归调用使字符串的反向输出,#为结束标志不做输出

    #include<stdio.h>
    
    void print(){
    	char c;
    	scanf("%c",&c);
    	if(c!='#') print();
    	if(c!='#') printf("%c",c); 
    }
    
    
    int main(){
    	print();
    	return 0;
    }

     

    展开全文
  • 例如输入字符串:ABCD,输出字符串:DCBA。【题目分析】 应用递归的思想有时可以很轻松地解决一些看似不太容易实现的功能。 本题就是利用递归方法解决这类问题的一个代表。要将一个字符串反向地输出,一般采用的...

    (该字符串可以包含空格和回车!)
    【题目要求】
    编写一个递归函数,实现将输入的任意长度的字符串反向输出的功能。
    例如输入字符串:ABCD,输出字符串:DCBA。

    【题目分析】
    应用递归的思想有时可以很轻松地解决一些看似不太容易实现的功能。
    本题就是利用递归方法解决这类问题的一个代表。要将一个字符串反向地输出,一般采用的方法是将该字符串存放到一个数组中,然后将数组元素反向地输出即可。
    这样需要一个存储空间,而且字符串的长度无法自由掌握,因为数组是一种静态数据结构。如果选用动态生成的顺序表或者链表来存放字符串,那么实现起来会比较麻烦,特别是如果把字符串存放到单向链表中,反向输出是非常困难的。
    如何才能输入任意长度的字符串,然后将其反向输出呢?
    可以通过一个递归的方法巧妙地实现这个功能。
    算法描述如下:

    print(){
        输入字符串的一个字符a:
        if(a!='#') print();
        if(a!='#') then 输出该字符a;
    }
    

    在该算法中,字符串的结束标志为#,并且#不作为字符串中的内容输出。首先输入字符串的一个字符,存放到变量a中:然后递归地调用函数print(),重复上述操作,知道输入字符串结束标志#为止;然后输出字符串中的字符。

    假设从屏幕上输入字符串ABC,并且以#作为结束标志,函数print()的递归过程如下图所示:
    

    如上图所示,从屏幕上输入字符串ABC,并以#作为结束标志,然后反向输出该字符串,整个流程沿着图中箭头方向执行。因此输出的字符串与输入的字符串方向相反。

    整个实现的C源代码:

    #include <stdio.h>
    #include <stdlib.h>
    print(){
        char a ;
        scanf("%c",&a);
        if(a!='#'){
            print();
        }
        if(a!='#'){
            printf("%c",a);
        }
    }
    int main()
    {
        printf("Please input a string ending for '#' :\n");
        print();
        return 0;
    }

    输出结果:

    下面的是没实现递归的Java实现这个功能的完整代码:
    而且貌似java也不能从控制端读入单个字符。。。。
    所以并不能实现这个c能实现的递归功能。

    package cn.hncu;
    
    import java.util.Scanner;
    
    public class String1 {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            String strs = "";
            while(true){
                int k=-1;
                String str = sc.nextLine();
                for(int i=0;i<str.length();i++){
                    if(str.charAt(i)=='#'){
                        k=i;
                    }
                }
                if(k==-1){
                    strs = strs+str+"\r\n";
                }else{
                    for(int i=0;i<k;i++){
                        strs = strs+str.charAt(i);
                    }
                }
                if(k!=-1){
                    break;
                }
            }
    
            for(int i=strs.length()-1;i>=0;i--){
                if(strs.charAt(i)=='\n'){
                    System.out.println();
                    i--;
                    continue;
                }
                System.out.print(strs.charAt(i));
            }
        }
    }
    
    展开全文
  • 是个简单的C语言写的递归实现字符串反向输出
  • 1、递归调用方式实现无符号数反向输出 C语言实现(DEV c++4.9.9.2运行通过) #include void reverse_print(unsigned long num) { if(num==0) return; printf("%d",num%10); //输出最低位 reverse_...
  • 字符串反向输出的几种方法

    千次阅读 2013-07-29 22:25:55
    1、递归调用方式实现无符号数反向输出 C语言实现(DEV c++4.9.9.2运行通过) [cpp]  #include    void reverse_print(unsigned long num)  {   if(num==0)   return;   printf("%d",num%10);...
  • //当条件不成立时,跳出if,输出\0前面的字母,再跳出这个递归输出倒数第二个,直到递归结束。 #define _CRT_SECURE_NO_WARNINGS 1 #include &lt;stdio.h&gt; #include "stdlib.h" #include&...
  • 示例1:递归反向输出字符串 # include <stdio.h> void digui(char * p) { if(*p == '\0') return; else { digui(p+1); printf("%c",*p); } } int main() { digui("ABC\0"); printf("\n"); ...
  • c语言课设模板

    2015-07-20 19:37:16
    1编程从键盘输入一个7位正整数,然后反向输出对应这7位数,如输入123567.,输出7654321要求用递归方法实现。 2规定输入的字符串中只能包含字母和*号,编写fun(char*a)其功能是除了字符串后连续*号外,将字符串中间...
  • C语言学习笔记(3)

    2020-10-30 15:43:34
    笔记内容: 1.找素数; 2.找闰年; 3.交换两个数; 4.打印任意两个数的乘法口诀表; 5.输出整数的每一位(递归...9.反向输出字符串; 10.输入一个整数,输出组成数字之和(递归实现); 11.求n的k次方(递归实现);
  • C语言编程练习(二)

    2015-04-05 12:03:36
    *规反向输出字符串 *author:jxb *date:2015\4\4 * */ #include void reverse(char *str) { if (*str == '\0') { return 0; } else { reverse(str+1); //递归;不能使用(str++) printf("%...
  • C++算法习题

    千次阅读 2018-08-07 18:52:28
    3.递归反向输出字符串 4.用递归算法判断数组a[n]是否为一个递增数组 5.不用库函数,用c语言将一整型数字转化为字符串 6.实现strcmp 7.实现子串定位 8.给定字符串A和B,输出A和B中最大的公共子串 9.去除字符串两头...
  • 4.19 递归反向输出字符串 4.20 一年中的第几天 第5章 数学趣题(一) 5.1 舍罕王的失算 5.2 求两个数的最大公约数和最小公倍数 5.3 歌德巴赫猜想的近似证明 5.4 三色球问题 5.5 百钱买百鸡问题 5.6 判断回文数字 ...
  • C语言经典例题100道

    2011-01-10 13:14:03
    73.反向输出链表 74.连接两个链表 75.算一道简单题目 76.调用函数求1/2+1/4+...+1/n 77.填空练习(指向指针的指针) 78.找到年龄最大的人 79.字符串排序 80.海滩猴子分桃 81.已知公式条件求数字 82.八进制转换为十...
  • Hello 函数是一个无参函数,当被其它函数调用时,输出Hello world字符串。 2.有参函数的一般形式 类型说明符 函数名(形式参数表) 型式参数类型说明 { 类型说明 语句 }  有参函数比无参函数多了两个内容,其...
  • python cookbook(第3版)

    2016-01-06 22:24:38
    2.20 字节字符串上的字符串操作 第三章:数字日期和时间 3.1 数字的四舍五入 3.2 执行精确的浮点数运算 3.3 数字的格式化输出 3.4 二八十六进制整数 3.5 字节到大整数的打包与解包 3.6 复数的数学运算 3.7...
  • ● 以ISO/ANSI标准为基础,对模板、标准模板库、字符串类、异常、RTTI和名称空间进行了讨论。 译者介绍:Stephen Prata在加州肯特菲尔得的马林学院教授天文、物理和计算机科学。他毕业于加州理工 学院,在加州...
  • ● 以ISO/ANSI标准为基础,对模板、标准模板库、字符串类、异常、RTTI和名称空间进行了讨论。 译者介绍:Stephen Prata在加州肯特菲尔得的马林学院教授天文、物理和计算机科学。他毕业于加州理工 学院,在加州...
  • ● 以ISO/ANSI标准为基础,对模板、标准模板库、字符串类、异常、RTTI和名称空间进行了讨论。 译者介绍:Stephen Prata在加州肯特菲尔得的马林学院教授天文、物理和计算机科学。他毕业于加州理工 学院,在加州...
  • ● 以ISO/ANSI标准为基础,对模板、标准模板库、字符串类、异常、RTTI和名称空间进行了讨论。 译者介绍:Stephen Prata在加州肯特菲尔得的马林学院教授天文、物理和计算机科学。他毕业于加州理工 学院,在加州...
  • docopt.cpp:从文档字符串生成选项解析的库。 gflags:C++的命令行标志模块。 indicators:现代C++的活动指标。 linenoise:readline和libedit的独立小选择。 linenoise-ng:用于Linux、Windows和MacOS的小型...
  • 大话数据结构

    2018-12-14 16:02:18
    我所提到的“over”、“end”、“lie”其实就是“lover”、“friend”、“believe”这些单词字符串的子串。 5.3串的比较 126 5.4串的抽象数据类型 127 5.5串的存储结构 128 感情上发生了问题,为了向女友解释...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

c语言递归反向输出字符串

c语言 订阅