【C语言】输入字符串,将字符串逆转
此次为个人练习,若有错误或需改进敬请提出。
要求:读取一个字符串,字符串可能含有空格,将字符串逆转,原来的字符串与逆转后字符串相同,输出0,原字符串小于逆转后字符串输出-1,大于逆转后字符串输出1。例如输入 hello,逆转后的字符串为 olleh,因为hello 小于 olleh,所以输出-1。
拓展知识:str系列字符串操作函数
str系列字符串操作函数主要包括strlen、strcpy、strcmp、strcat等等。其中,strlen函数用于统计字符串的长度,strcpy函数用于将某个字符串赋值到字符数组中,strcmp函数用于比较两个字符串的大小,strcat函数用于将两个字符串连接到一起。注意,这些函数的使用需要引用<string.h>。它们的使用方法如下:
#include <stdio.h>
#include <string.h>int main()
{char c[20] = "helloworld";printf("数组c内字符串的长度=%d\n", strlen(c));char d[20];strcpy(d, "study");//复制//char* strcopy(char* to,const char *from);有const修饰代表可以放一个字符串常量puts(d);//看strcmp,两个字符串进行比较是比较对象字符位置的ascii码值int ret = strcmp("how", "hello");printf("字符how与字符hello比较后的结果=%d\n", ret);//当how大于hello时输出得值大于0,当how小于hello时输出的值小于0printf("两个字符串比较后的结果=%d\n", strcmp("hello", "hello"));//当两个字符串的值相等时输出的值为0//看strcat,是拼接两个字符串,且目标数组要容纳拼接的字符串strcat(c, d);//将数组c与数组d拼接puts(c);//输出拼接后的字符串return 0;
}
因此,通过str系列字符串操作函数,我们可以写出此题的代码。
代码如下:
#include <stdio.h>
#include <string.h>int main() {char a[20];char b[20];int len;//int strcmp(const char* a, const char* b);gets(a);len = strlen(a);//读取数组a的长度for (int i = 0; i < len; i++){b[i] = a[len - i - 1];//将a数组的下标存的数据赋值给逆转后b数组的下标}b[len] = '\0';//在b数组中,数据结束后添加结束符if (strcmp(a, b) > 0)//判断原字符串是否大于逆转后的字符串{printf("1");}else if (strcmp(a, b) < 0)//判断原字符串是否小于逆转后的字符串{printf("-1");}else{printf("0");//原字符串与逆转后的字符串相同}
}
运行结果:
当输入“hello”时,输出结果应为“-1”:
hello
-1
当输入“cba”时,输出结果应为“1”:
cba
1
当输入“aba”时,输出结果应为“0”:
aba
0
【C语言】输入字符串,将字符串逆转相关推荐
- c++ 字符串合并_C语言输入字符和字符串(所有函数大汇总)
C语言输入字符和字符串(所有函数大汇总) C语言有多个函数可以从键盘获得用户输入,它们分别是: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据. getchar() ...
- C语言-输入一行英文字符串统计单词个数
C语言-输入一行英文字符串统计单词个数,单词之间以空格隔开 判断是否为单词的依据,通过一个flag标识,flag为0表示字符为空格,接下来出现不是空格,会将flag置为1 只有当flag为1且当前字符 ...
- C语言输入字符和字符串
在C语言中,有多个函数可以从键盘获得用户输入: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据. getchar().getche().getch():这三个函数都 ...
- C语言 输入三个字符串,由小到大输出
#include <stdio.h> #include <string.h> void swap(char *p1,char *p2){char p[32];strcpy(p, ...
- c语言输入任意长度字符串,读取不定长字符串输入
C语言通常使用scanf处理输入,如果要读取字符串,那么就需要定义一个字符数组(char[]).可是,如果数组定义长度不足,就可能发生溢出. 在C语言里有个可以用来读取字符的函数(getchar),我 ...
- C语言输入字符和字符串(所有函数大汇总)
C语言有多个函数可以从键盘获得用户输入,它们分别是: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据. getchar().getche().getch():这三个 ...
- ACMNO.27 Python的两行代码解决 C语言-字符逆序 写一函数。使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。 输入 一行字符 输出 逆序后的字符串
题目描述 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串. 输入 一行字符 输出 逆序后的字符串 样例输入 123456abcdef 样例输出 fedcba654321 来源 ...
- R语言paste函数、paste0函数将多个输入组合成字符串实战
R语言paste函数.paste0函数将多个输入组合成字符串实战 目录 R语言paste函数.paste0函数将多个输入组合成字符串实战 #基本语法
- C语言 输入一个字符串,统计字符个数,并按照倒序输出该字符串。
题目:C语言 输入一个字符串,统计字符个数,并按照倒序输出该字符串. #include<stdio.h>void main() {char str[10];scanf("%s&q ...
- c语言基础练习题 字符串输入scanf/gets 字符串赋值、比大小
PTA上C语言程序设计练习题,包含查找书籍.字符串排序.主要用到字符串输入scanf/gets 字符串赋值.比大小等知识. 1.查找书籍 习题9-4 查找书籍 (20 分) 给定n本书的名称和定价,本 ...
最新文章
- 统计学习方法:朴素贝叶斯
- 总点第一个视频产生选择偏差?Youtube用“浅塔”来纠正
- 多伦多大学和清华大学创新创业论坛,数据科学研究院建言献策
- mysql page header_MySQL系列:innodb源码分析之page结构解析
- 开源项目event-stream被注入恶意代码,盗取区块链钱包助记词
- 利用计算机进行有理数的运算教学反思,《有理数加减乘除混合运算》教学反思...
- android模拟器后台截屏,【Android】Android模拟器下截屏及格式转换
- 4.18、Bootstrap V4自学之路-----内容---滚动监听
- 演示: 动态NAT完成网络地址翻译
- Python和Java结合的项目实战_[项目实战] Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 [...
- 关于CEdit控件的透明
- 情人节找个程序员当男朋友,一般都不会太差
- linux 连个文件都删除不了,什么鬼!
- 画出计算机网络的一般组成,计算机网络习题(有答案).pdf
- Linux 系统之Sysvinit
- linux查看进程打开的句柄数,【转】Linux下查看进程打开的文件句柄数
- HDU1235 统计同成绩学生人数【水题+序列处理】
- 华硕ac68u最佳设置_华硕AC68U路由器APP远程控制设置教程
- 牛顿法 泰勒二次展开式
- 查找整数c语言程序,查找整数(示例代码)
热门文章
- 一阅览室只能容纳150人,当少于150人时,可以进入,否则,需在外等候,若将每一个读者作为一个进程,请用P、V操作编程(类C、类pascal),并写出信号量的初值。(PV操作伪代码)
- 理光有邮件服务器吗,理光复合机扫描怎么设置? 理光复合机扫描到邮件的设置方法...
- 我的Scrum教学和教练成长之路
- 把二进制流图片转换成MultipartFile文件
- 产生RUNT和Giants的原因
- Mac用终端连接mysql数据库(终极版)
- AtCoder Beginner Contest 282 A-E
- wget mysql 镜像_我用wget下载CentOS镜像文件
- 2021-09-15核芯物联推荐生态合作伙伴莱讯科技#蓝牙AoA微信小程序跨楼层高精度定位导航,支持ibeacon+aoa融合,完美解决ibeacon导航存在的覆盖盲区
- C#通过OPC协议连接PLC