当前位置: 首页 > article >正文

【时时三省】(C语言基础)字符数组应用举例2

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省

例题:

有3个字符串,要求找出其中“最大”者。

解题思路:

可以设一个二维的字符数组str,大小为3×20,即有3行20列(每一行可以容纳20个字符)。每一行存放一个字符串。

如前所述,可以把str [ 0 ],str [ 1 ],str [ 2 ]看作3个一维字符数组(它们各有20个元素)。可以把它们如同一维数组那样进行处理。今用gets函数分别读入3个字符串,赋给3个一维字符数组。然后经过3次两两比较,就可得到读入3个字符串给str [ 0 ] , str [ 1 ] , str [ 2 ]值最大者,把它放在一维字符数组string中。

编写程序:

运行结果:

程序分析:

( 1 )流程图和程序注释中的“大于”是指两个字符串的比较中的“大于”。经过第1个if语句的处理,string中存放了str [ 0 ]和str [ 1 ]中的“大者”。第2个if语句把string和str [ 2 ]比较,把大者存放在string中。最后在string中的就是str [ 0 ],str [ 1 ],str [ 2 ]三者中的最大者。

( 2 ) str [ 0 ],str [ 1 ],str [ 2 ]和string是一维字符数组,其中可以存放一个字符串。( 3 ) strcpy函数在将str [ 0 ],str [ 1 ]或str [ 2 ]复制到string时,最后都有一个‘\0’。因此,最后用%s格式输出string时,遇到string中第一个\0 '即结束输出,并不是把string中的全部字符输出。

当然,这个题目也可以不采用二维数组,而设3个一维字符数组来处理。

http://www.lryc.cn/news/2378292.html

相关文章:

  • Mysql触发器(附案例)
  • 使用DDR4控制器实现多通道数据读写(十二)
  • Kafka 生产者工作流程详解
  • 完整卸载 Fabric Manager 的方法
  • 地下停车场调频广播无线覆盖系统:融合精准选频光纤传输均匀覆盖于一体的创新型地下车库广播无线覆盖平台
  • 【Linux】进程间通信(一):认识管道
  • 中大型水闸安全监测系统解决方案
  • 蓝桥杯12届国B 123
  • Harmony开发 List、Grid拖动自定义排序实现
  • 迅龙3号基于兆讯MH22D3适配CST328多点触摸驱动开发笔记
  • 【001】.so文件分析之 ELF格式符号
  • QT之LayOut布局
  • 无需配置光猫,使用网管交换机配合路由器的IPTV功能实现单线复用
  • C++类与对象--1 特性一:封装
  • Linux:计算机的层状结构
  • 【SpringBoot】关于MP使用中配置了数据库表前缀的问题
  • AI 赋能防艾宣传:从创意到实践,我的 IP 形象设计之旅
  • Redis 事务与管道:原理、区别与应用实践
  • 每日算法刷题Day9 5.17:leetcode定长滑动窗口3道题,用时1h
  • 手机打电话时如何将通话对方的声音在手机上识别成文字
  • 重排序模型解读:gte-multilingual-reranker-base 首个GTE系列重排模型诞生
  • C++学习:六个月从基础到就业——C++11/14:列表初始化
  • SQL语句执行问题
  • 2025系统架构师---选择题知识点(押题)
  • flutter flutter run 运行项目卡在Running Gradle task ‘assembleDebug‘...
  • P5682 [CSP-J2019 江西] 次大值
  • Elasticsearch 性能优化面试宝典
  • 【论文阅读】人脸修复(face restoration ) 不同先验代表算法整理2
  • 无监督学习在医疗AI领域的前沿:多模态整合、疾病亚型发现与异常检测
  • 计算机操作系统概要