此次为个人练习,若有错误或需改进敬请提出。

要求:读取一个字符串,字符串可能含有空格,将字符串逆转,原来的字符串与逆转后字符串相同,输出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语言】输入字符串,将字符串逆转相关推荐

  1. c++ 字符串合并_C语言输入字符和字符串(所有函数大汇总)

    C语言输入字符和字符串(所有函数大汇总) C语言有多个函数可以从键盘获得用户输入,它们分别是: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据. getchar() ...

  2. C语言-输入一行英文字符串统计单词个数

    C语言-输入一行英文字符串统计单词个数,单词之间以空格隔开 判断是否为单词的依据,通过一个flag标识,flag为0表示字符为空格,接下来出现不是空格,会将flag置为1 只有当flag为1且当前字符 ...

  3. C语言输入字符和字符串

    在C语言中,有多个函数可以从键盘获得用户输入: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据. getchar().getche().getch():这三个函数都 ...

  4. C语言 输入三个字符串,由小到大输出

    #include <stdio.h> #include <string.h> void swap(char *p1,char *p2){char p[32];strcpy(p, ...

  5. c语言输入任意长度字符串,读取不定长字符串输入

    C语言通常使用scanf处理输入,如果要读取字符串,那么就需要定义一个字符数组(char[]).可是,如果数组定义长度不足,就可能发生溢出. 在C语言里有个可以用来读取字符的函数(getchar),我 ...

  6. C语言输入字符和字符串(所有函数大汇总)

    C语言有多个函数可以从键盘获得用户输入,它们分别是: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据. getchar().getche().getch():这三个 ...

  7. ACMNO.27 Python的两行代码解决 C语言-字符逆序 写一函数。使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。 输入 一行字符 输出 逆序后的字符串

    题目描述 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串. 输入 一行字符 输出 逆序后的字符串 样例输入 123456abcdef 样例输出 fedcba654321 来源 ...

  8. R语言paste函数、paste0函数将多个输入组合成字符串实战

    R语言paste函数.paste0函数将多个输入组合成字符串实战 目录 R语言paste函数.paste0函数将多个输入组合成字符串实战 #基本语法

  9. C语言 输入一个字符串,统计字符个数,并按照倒序输出该字符串。

    题目:C语言 输入一个字符串,统计字符个数,并按照倒序输出该字符串. #include<stdio.h>void main() {char str[10];scanf("%s&q ...

  10. c语言基础练习题 字符串输入scanf/gets 字符串赋值、比大小

    PTA上C语言程序设计练习题,包含查找书籍.字符串排序.主要用到字符串输入scanf/gets 字符串赋值.比大小等知识. 1.查找书籍 习题9-4 查找书籍 (20 分) 给定n本书的名称和定价,本 ...

最新文章

  1. 统计学习方法:朴素贝叶斯
  2. 总点第一个视频产生选择偏差?Youtube用“浅塔”来纠正
  3. 多伦多大学和清华大学创新创业论坛,数据科学研究院建言献策
  4. mysql page header_MySQL系列:innodb源码分析之page结构解析
  5. 开源项目event-stream被注入恶意代码,盗取区块链钱包助记词
  6. 利用计算机进行有理数的运算教学反思,《有理数加减乘除混合运算》教学反思...
  7. android模拟器后台截屏,【Android】Android模拟器下截屏及格式转换
  8. 4.18、Bootstrap V4自学之路-----内容---滚动监听
  9. 演示: 动态NAT完成网络地址翻译
  10. Python和Java结合的项目实战_[项目实战] Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 [...
  11. 关于CEdit控件的透明
  12. 情人节找个程序员当男朋友,一般都不会太差
  13. linux 连个文件都删除不了,什么鬼!
  14. 画出计算机网络的一般组成,计算机网络习题(有答案).pdf
  15. Linux 系统之Sysvinit
  16. linux查看进程打开的句柄数,【转】Linux下查看进程打开的文件句柄数
  17. HDU1235 统计同成绩学生人数【水题+序列处理】
  18. 华硕ac68u最佳设置_华硕AC68U路由器APP远程控制设置教程
  19. 牛顿法 泰勒二次展开式
  20. 查找整数c语言程序,查找整数(示例代码)

热门文章

  1. 一阅览室只能容纳150人,当少于150人时,可以进入,否则,需在外等候,若将每一个读者作为一个进程,请用P、V操作编程(类C、类pascal),并写出信号量的初值。(PV操作伪代码)
  2. 理光有邮件服务器吗,理光复合机扫描怎么设置? 理光复合机扫描到邮件的设置方法...
  3. 我的Scrum教学和教练成长之路
  4. 把二进制流图片转换成MultipartFile文件
  5. 产生RUNT和Giants的原因
  6. Mac用终端连接mysql数据库(终极版)
  7. AtCoder Beginner Contest 282 A-E
  8. wget mysql 镜像_我用wget下载CentOS镜像文件
  9. 2021-09-15核芯物联推荐生态合作伙伴莱讯科技#蓝牙AoA微信小程序跨楼层高精度定位导航,支持ibeacon+aoa融合,完美解决ibeacon导航存在的覆盖盲区
  10. C#通过OPC协议连接PLC