news 2026/5/27 11:37:45

串练习--------首字母大写HDOJ2026

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
串练习--------首字母大写HDOJ2026

题目:HDOJ 2026

代码

/* HDOJ 2026 https://acm.hdu.edu.cn/showproblem.php?pid=2026 首字母大写 */ #include<iostream> #include<cstring> using namespace std; char a[105]; int main() { while (fgets(a, sizeof(a), stdin)) { //getchar();这里不需要消除换行符吗:不需要,fgets会读取一行全部的内容包括换行符 int len = strlen(a);//strlen是一直在变的,所以要用变量暂存 for (int i = 0; i < len; i++) { if (i == 0||a[i-1]==' ') { if (a[i] >= 'a' && a[i] <= 'z') {//这里首先要判断是不是大小写 a[i] = a[i] - 32; /* 也可以这么实现 a[i]+='A'; a[i]-='a'; */ } } } printf("%s", a);//这样输出更加简单,这里不需要另外输出换行符,因为fgets会读取换行符,所以输出时换行符会跟着输出 } return 0; }

反思

1.考察的知识点:字符串的输入输出

2.踩的坑:首先是没有暂存strlen的值,导致遍历时和输出时出现缺少内容问题,

然后是没有搞清楚strlen和sizeof分别代表什么,搞混了,sizeof求的是整个数组的存储空间,与内容无关,而strlen求的是字符串的长度。

然后,是没有考虑单词首字母本来就是大写的情况,

然后,每次输入时,由于fgets的特殊性,会输入一行内包含换行符的所有内容,并在末尾加上换行符,比如: hello World!\n\0,然后上次输入导致后续残留的内容就会被截断,前面的就会被覆盖,所以不用清空也无影响,

然后输出时利用printf和%s,更加简单。

3.可以改进的地方:无。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 14:57:42

操作系统应用(四十二)仙盟屏幕录像工具—东方仙盟炼气期

东方仙盟屏幕录像工具亮点 1. 手机发布免二次剪辑 电脑录屏能自动适配移动端竖版比例&#xff0c;录手机讲解内容时会智能放大操作区域。导出后直接就能发抖音、快手等平台&#xff0c;省去用剪映等工具调整尺寸的麻烦&#xff0c;做短视频教程效率翻倍。 2. 录制功能超全面 …

作者头像 李华
网站建设 2026/5/27 5:27:42

javadoc规范、idea生成javadoc等

文章目录idea生成javadocidea生成javadoc时报错 编码GBK的不可映射字符有哪些javadoc注解文档以前不太注意这些规范&#xff0c;认为这个没用&#xff0c;写代码随心所欲&#xff0c;实际这个想法是不对的。idea生成javadoc 可以给整个项目生成&#xff0c;也可以给某个文件生…

作者头像 李华
网站建设 2026/5/26 21:44:36

AtomicInteger实现安全减库存

文章目录安全库存类任意main方法里面调用使用说明并发情况下如何多节点执行并发问题一直是个小难点&#xff0c;自动有了AtomicInteger类&#xff0c;一切都变得简单了。安全库存类 这个类支持几种减库存的方法&#xff0c;挺好的。 代码&#xff1a; public class SafeInve…

作者头像 李华
网站建设 2026/5/27 5:43:52

基于Spring Boot题库及试卷管理系统

基于Spring Boot题库及试卷管理系统 是一种基于Spring Boot框架开发的在线教育和考试管理工具。以下是对该系统的详细介绍&#xff1a; 一、系统背景与意义 随着教育数字化的推进和在线学习需求的增长&#xff0c;传统的纸质考试方式已经逐渐显示出局限性&#xff0c;特别是在灵…

作者头像 李华