首页 > 其他分享 >【 C语言练习(7)—递归法反向打印字符串】

【 C语言练习(7)—递归法反向打印字符串】

时间:2024-12-13 17:04:11浏览次数:6  
标签:putchar 递归 递归函数 练习 C语言 字符串 getchar

C语言练习(7)

文章目录


前言

  • 进一步练习和巩固递归函数构建思想

问题

  • 使用递归的方法给定一个字符串abcde,反向输出edcba

问题分析

  • 对于字符串的输入和输出使用getchar()和 putchar(),如下面程序所示;

在这里插入图片描述

如下给出递归函数的原理:
在这里插入图片描述

  • 程序代码如下
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

void f(int m)
{
    char c;
    c = getchar();//输入字符串
    if (m == 1)
    {
        putchar(c);//输出字符串
    }
    else
    {
        f(m-1);
        putchar(c);
    }
}

int main()
{
    int m = 0;
    printf("请设置字符串反向输出个数;");
    scanf("%d",&m);
    f(m+1);
    return 0;
}

结果

在这里插入图片描述

在这里插入图片描述

总结

  • 学习了字符串的输入和输出使用getchar()和 putchar()
  • 快捷键:fn+f10逐行调试代码
  • 快捷键:fn+f11能函数之间互相跳转逐行调试代码

标签:putchar,递归,递归函数,练习,C语言,字符串,getchar
From: https://blog.csdn.net/weixin_56089319/article/details/144454209

相关文章

  • C语言中的字符串操作函数
    此篇文章在2024年10月29日被记录盘点C语言中的字符串操作函数1、字符串复制和连接#include<stdio.h>#include<string.h>intmain(){//strcpycharsrc1[]="Hello";chardest1[20];strcpy(dest1,src1);printf("strcpy:%s\n",dest1);......
  • 在 .NET Core Web API 中接收 XML 格式的字符串
    [!info]以下内容基于ASP.NETCore3.1,更多版本详细内容请查看官方文档ASP.NETCore中的模型绑定|MicrosoftLearn配置WebAPI以接受XMLpublicvoidConfigureServices(IServiceCollectionservices){services.AddControllers().AddXmlSerializerForma......
  • 2024年华为OD机试真题-字符串分割-Java-OD统一考试(E卷)
    最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客     每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。题目描述:给定非空字符串s,将该......
  • 三维坐标旋转矩阵推导过程以及C语言实现
    此篇文章在2023年9月13日被记录前提:坐标使用右手坐标系,角度逆时针旋转为正。绕X轴旋转角度为俯仰角即Pitch绕Y轴旋转角度为偏航角即Yaw(Head)绕Z轴旋转角度为翻滚角即Roll1、平面二维坐标点的旋转根据三角函数关系,可以列出向量OP与OP'的坐标表示形式:x=|OP|•co......
  • 在windows下使用C语言进行图形编程 SDL2开发环境搭建
    此篇文章在2023年9月7日被记录你是否对C语言命令行黑框感到厌倦,今天来为你的C编程增加一些可视化窗口吧!1、windows下安装C编译器这对于一个开发者来说简直是太业余了,如果你是一个开发者,你的电脑上怎么会没有gcc呢,如果你是一个新手,可以转到这个链接:https://zhuanlan.zhihu.c......
  • 初探C语言|实现井字棋游戏(超详解)
    文章目录前言正文**1.游戏基本规则****2.代码结构和实现****2.1初始化棋盘****2.2打印棋盘****2.3玩家和电脑的回合****2.4判断胜利或平局****2.5游戏主循环****2.6游戏菜单**总结与优化欢迎讨论:如有错误或不足,欢迎指正和建议,本人主打“听劝”。当然,如有疑......
  • 达梦DOTNET驱动DM.Provider8.3.1.30495存在空字符串插入变DBNull的问题
    达梦数据库的DOTNET驱动DM.Provider,这个版本8.3.1.30495有bug,会把空字符串改成DBNull处理,反编译代码发现Dm.DmSetValue.SetString方法中判断字符串长度==0就设置成DBNull。解决办法就是降低版本到8.3.1.28188。//Dm.DmSetValueusingSystem;usingSystem.Globalization;usi......
  • 江科大STM32学习:01 C语言(2)指针
    1.指针简介指针Pointer是C语言的一个重要知识点,使用灵活,功能强大指针和底层硬件联系紧密(寄存器),使用指针可操作数据的地址,实现数据的间接访问2.计算机存储机制每个区域都是一个字节,线性分配下去,每个字节对应一个地址。注:一个字节是8bitinta=0x12345678;//十六进制,八......
  • .net 数组与字符串、集合之间互转
    1、数组与字符串互转stringstr="1,2,3,4,5,6,7";string[]strArray=str.Split(',');//字符串转数组str=string.Empty;str=string.Join(",",strArray);//数组转成字符串2、声明数组.第一种方法.声明并分配元素大小.int[]Myint=newint[30];Myint[0]=3......
  • 写一个方法将字符串中的制表符全部替换为逗号
    functionreplaceTabsWithCommas(str){//方法一:使用replaceAll()(最简洁)returnstr.replaceAll('\t',',');//方法二:使用正则表达式和replace()//returnstr.replace(/\t/g,',');//方法三:使用split()和join()(适用于旧版浏览器,兼容性最好)/......