输入字符串,逆序输出(两种方法)

2023-11-03

问题描述

从键盘上输入一组字符串,实现逆序输出。

解题思路

方法一:输出的时候从(n-1)的数据往前依次输出。

方法二:假设输入n个字符,字符串默认末尾补上' \0 ',将第0个字符和第(n-1)个字符交换,依次交换中间的数据

输入的数据

H E L L O \0

 第1次交换后的数据

O E L L H \0

 第(n-1)次交换后的数据

O L L E H \0

第一种方法

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

#define N 20

int main(int argc, const char *argv[])
{

	char str[N] = "\0";
	int i, n;

	printf("Please input a String:");
	gets(str);	

//	n = sizeof(str) / sizeof(char);
	n = strlen(str);
	for(i = n-1; i >= 0; i--)
		putchar(str[i]);
	putchar('\n');

	return 0;
}

 第二种方法

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

#define N 20

int main(int argc, const char *argv[])
{

	char str[N] = "\0";
	int i, j, n,ch;

	printf("Please input a String:");
	gets(str);	

	n = strlen(str);                //获取字符串的长度
	i = 0;
	j = n-1;
	while(i < j){
		ch = str[i];
		str[i] = str[j];
		str[j] = ch;
		i++;
		j--;	
	}

	puts(str);

	return 0;
}

结果:

               

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

输入字符串,逆序输出(两种方法) 的相关文章

  • 前端开发中常用的校验处理

    前端开发中常用的校验处理 1 手机号码校验 2 身份证正则校验 3 必须输入中文 必须输入英文 4 其它正则校验 1 手机号码校验 function checkPhone var phone document getElementById
  • 模式匹配算法

    下面分别介绍 朴素模式匹配算法 和 改进模式匹配算法 KMP 朴素模式匹配算法思想 从目标S中的第一个字符开始和模式T中的的第一个比较 用 i 和 j 分别指示S串和T串中正在比较字符的位置 若相等 则继续逐个比较后续字符 否则 从S 的第
  • java编程题检索一个字符串中出现元音字符长度最长是多少?

    java编程题 题目 给定一个字符串 返回最长元音字母字串长度 测试举例 输入为 asdbuiodea 输出为3 因为uio三个元音字姆是最长的 分析题目 可以理解为元音字母连续且最长 遍程思路 我个人是将用户输入的字符串和元音字符串分别转
  • C++——大数加法

    大数加法 即运算的数据可能很大 int long long long无法存放 存在字符串中 但是加法的运算规则还是10进制 对于两个字符串 首先判断两者的长度 我们将字符串s设置为较长的字符串 方便后面的运算 也可以将t设置为较长的 从低位
  • Educoder---Java面向对象 - 集合框架(1)

    第一题 请仔细阅读右侧代码 根据方法内的提示 在Begin End区域内进行代码补充 创建ArrayList集合并且向集合中添加数据 具体要求如下 添加字符串类型数据 https www educoder net 添加double类型数据
  • 【python总结】python学习框架梳理

    目录 基础 注释与变量名等基本规则 关键字 操作符 数字 流程控制 序列 文本序列 字符串 二进制序列 字节 列表 元组 映射 字典 集合 函数 面向对象编程 错误和异常 模块 数据结构与算法 数组 字符串 链表 二分查找 排序 栈 队列
  • 基础算法题——带分数(全排列,工具库)

    前言 这道题理解起来不难 但是要找到一个合适的方法对题目进行优化 就会相对麻烦些 蓝桥杯的题 真的到处都是坑的感觉 带分数题目 资源限制 时间限制 1 0s 内存限制 256 0MB 问题描述 100 可以表示为带分数的形式 100 3 6
  • 【leetcode 524. 通过删除字母匹配到字典里最长单词】双指针,在不同字符串中同向查找

    解题思路 依旧是双指针 不过双指针在不同字符串中同向查找 且在使用双指针前需要对被查找集合做排序 1 根据题目要求 先将dictionary的字符串按照字符串的长度从大到小排序 且字符串符合字典序 进行排序 目的是为了接下查找时 dicti
  • Leetcode刷题316. 去除重复字母

    给你一个字符串 s 请你去除字符串中重复的字母 使得每个字母只出现一次 需保证 返回结果的字典序最小 要求不能打乱其他字符的相对位置 注意 该题与 1081 https leetcode cn com problems smallest s
  • 字符编码简介

    目录 一 ascii编码 二 扩展ascii编码 三 多字节编码 multi bytes 四 宽字符编码 wide char 五 unicode编码 六 utf 8编码 七 结语 大家好 我是略游 本文的目的是讲清楚 字符编码的今生来世 看
  • AC自动机 (多模式匹配)

    AC自动机 感谢博主 https blog csdn net bestsort article details 82947639 感谢博主 https fanfansann blog csdn net article details 106
  • 突如其来的C#重新学习(2)

    突如其来的C 重新学习 2 关于Main入口点的问题 Main在C 中不能单独声明 所以必须声明在同一个类中 而且必须声明静态方法 返回可以是void或者int 正常执行应当返回0 对于一个命名空间之内有很多的类的情况下 就可以手动选择从哪
  • 【Java数据类型】各种数据类型的相互转换总结

    基础数据类型包括 byte short int long float double char String boolean 在许多场合需要用到它们的相互转换 本文 将介绍几种转换方式 以及对转换方式的原理简要介绍 文章目录 法则与特性 字节
  • 业务实战中如何利用MySQL函数来解决

    随着我们业务越来越复杂的情况下 完全基于java后台来解决首先是很麻烦 而且性能带来降低 代码的可读性下降 这个时候就需要一些MySQL的函数来解决了 这篇文章对于常见的MySQL函数不予介绍 concat函数 使用方法 CONCAT st
  • 数据结构与算法学习总结(六)——字符串的模式匹配算法

    基本概念 字符串是一种特殊的线性表 即元素都是 字符 的线性表 字符是组成字符串的基本单位 字符的取值依赖于字符集 例如二进制的字符集为0 1 则取值只能为 0 1 再比如英语语言 则包括26个字母外加标点符号 例如 abcde 就是一个字
  • Python基础知识(四):一文看懂列表、元组和字符串操作

    序列 序列是具有索引和切片能力的集合 列表 元组和字符串具有通过索引访问某个具体的值 或通过切片返回一段切片的能力 列表 元组 字符串都属于序列 1 列表 列表 List 是Python中非常重要的内置数据类型 列表由一系列元素组成 所有的
  • 【Java】Java中的String类

    文章目录 一 认识 String 类 二 String 类的常用方法 2 1 构造方法 2 2 String 类对象之间的比较 2 3 字符串查找 2 4 字符串的转换 2 5 字符串替换 2 6 字符串拆分 2 7 字符串截取 2 8 字
  • java.lang.StringIndexOutOfBoundsException: String index out of range: 22

    报错 in thread main java lang StringIndexOutOfBoundsException String index out of range 22 原因 for int i 0 i lt 255 i 输入的字符
  • html 中的正则(基础)

    正则表达式 1 什么是 正则表达式就是专门规定一个字符串中字符出现的规律的一套规则 2 何时 2大类场景 a 验证字符串格式 b 查找敏感词 如何在js中创建正则表达式 用于查找和匹配 2种 1 标准写法 a var 变量 new RegE
  • LeetCode 面试16.18 模式匹配

    你有两个字符串 即pattern和value pattern字符串由字母 a 和 b 组成 用于描述字符串中的模式 例如 字符串 catcatgocatgo 匹配模式 aabab 其中 cat 是 a go 是 b 该字符串也匹配像 a a

随机推荐

  • flask 开发Restful API :post get

    命令行安装flask pip install flask 新建脚本api py from flask import Flask from flask import request import json app Flask name app
  • 使你的IT职业生涯更上一层楼de14条建议

    摘要 升值为企业IT部门的领导者 是大部分IT技术人员职业生涯的最终追求 但从一般大众中脱颖而出 并非易事 仅仅把本职工作干好远远不够 还需要IT技术人员展示出投身于技术发展的奉献精神及伴随技术发展而发展的能力 升值为企业IT部门的领导者
  • OpenGL坐标变换及其数学原理,两种摄像机交互模型(附源程序)

    OpenGL坐标变换及其数学原理 两种摄像机交互模型 附源程序 实验平台 win7 VS2010 先上结果截图 文章最后下载程序 解压后直接运行BIN文件夹下的EXE程序 a 鼠标拖拽旋转物体 类似于OGRE中的 OgreBites Cam
  • 频繁跳槽是职场走下坡路的开始,Java程序员注意:跳槽前,你该考虑5个问题

    本文转载自 频繁跳槽是职场走下坡路的开始 Java程序员注意 跳槽前 你该考虑5个问题 职场上 跳槽是所有职场人都会遇到的问题 关于职场跳槽的理由 笔者做了以下盘点 和直接领导的矛盾导致离职 逃避问题而离职 工作压力大 挣钱少而离职 总之
  • Harbor安装及简单使用

    在虚拟机初始化的基础上 安装Docker wget O etc yum repos d CentOS Base repo http mirrors aliyun com repo Centos 7 repo wget https mirro
  • 2020-06-11

    你需要继续学习 这样一来如果有机会的话 你应该可以往前进一步
  • 【C语言】让你不再害怕指针——C指针详解(经典,非常详细)

    https blog csdn net qq 41035588 article details 79673674
  • java 读取excel数据

    本文共介绍两种方式 第一种是常规POI读取 第二种是大文件读取 依赖包
  • OpenCV3.3 + Python3.6 开发环境配置

    2018 9 6 更新 Anaconda3 5 2 0版本 Python 3 6 下OpenCV 3 安装 今天重新安装了 Python 的环境 发现在新版本 Anaconda3 下安装配置 OpenCV 3 十分简单 在 Anaconda
  • 【ubuntu虚拟机命令】+ 【mysql数据库】

    ubuntu虚拟机命令 cd 进入家目录 ll 查看文件列表 rm rf 目录名 删除目录 sudo su 从用户切换到 root su ubuntu 从 root 切换到 用户 vi bim 打开文件 i 编辑文件 退出 esc 保存退出
  • 40-400-020-运维-优化-使用MySQLTunner优化MySQL

    文章目录 1 概述 2 安装MySQL 3 下载 4 报告分析 1 概述 MySQLTuner 是一个 Perl 脚本 可以用来分析您的 MySQL 性能 并且基于收集到的信息给出相应的优化建议 这样子 您就可以调整 my cnf 从而优化
  • 关于colmap+nerf对数据集进行预处理的使用总结

    前言 零零碎碎的东西太多 有必要统一记录一下 因为是回忆步骤 所以可能有不准确的地方 Colmap的使用 1 下载 下载链接 colmap 下载之后直接解压就能使用 点击COLMAP bat 2 colmap 这里到处都是很详细的操作步骤
  • Chisel3 - util - LockingArbiter

    https mp weixin qq com s 5oAwH3scumARzPidRBfG2w 带锁多入单出仲裁器 输出会被锁定指定的时钟周期 参考链接 https github com freechipsproject chisel3 b
  • 单片机系统中实用的按键驱动(STM32、51都适用)

    目录 1 自己使用的按键驱动 1 1 驱动源码 1 2 使用方法 2 另一种按键驱动 2 1 驱动源码 2 2 使用方法 在我们嵌入式开发中 产品上往往少不了按键 一个好的按键驱动可以满足不同场合的客户需求 这里我分享几个实用的按键驱动 希
  • Python机器学习笔记 使用sklearn做特征工程和数据挖掘

    特征处理是特征工程的核心部分 特征工程是数据分析中最耗时间和精力的一部分工作 它不像算法和模型那样式确定的步骤 更多的是工程上的经验和权衡 因此没有统一的方法 但是sklearn提供了较为完整的特征处理方法 包括数据预处理 特征选择 降维等
  • 西门子S7-300 PLC 的50个经典问题

    1 使用CPU 315F和ET 200S时应如何避免出现 通讯故障 消息 使用CPU S7 315F ET 200S以及故障安全DI DO模块 那么您将调用OB35 的故障安全程序 而且 您已经接受所有监控时间的默认设置值 并且愿意接收 通
  • Linux 小结

    前言 为了便于理解 本文从常用操作和概念开始讲起 虽然已经尽量做到简化 但是涉及到的内容还是有点多 在面试中 Linux 知识点相对于网络和操作系统等知识点而言不是那么重要 只需要重点掌握一些原理和命令即可 为了方便大家准备面试 在此先将一
  • Python爬虫

    文章目录 1 概述 2 数据采集 3 数据清洗 3 1 读取数据 3 2 去掉车位 地下室 数据 3 3 房源信息解析 4 数据处理及可视化 4 1 各地区二手房源数 4 2 各地区二手房均价 4 3 各地区二手房总价 4 4 各地区二手房
  • subtitle, CC, TTX

    论坛中的一段解答 1 数据广播 我不清楚你所指的数据广播具体是什么 但在DVB T和MHEG的标准里面传送的TTX和SUB这些被称为数据广播 在中国 analog channel里面的TTX信息被称为图文信息 也就是数据广播 也许有错 你可
  • 输入字符串,逆序输出(两种方法)

    问题描述 从键盘上输入一组字符串 实现逆序输出 解题思路 方法一 输出的时候从 n 1 的数据往前依次输出 方法二 假设输入n个字符 字符串默认末尾补上 0 将第0个字符和第 n 1 个字符交换 依次交换中间的数据 输入的数据 H E L