题解 | #首字母大写#

首字母大写

https://www.nowcoder.com/practice/91f9c70e7b6f4c0ab23744055632467a

#include<iostream>
#include<string>
using namespace std;

int main(){
	string str;
	bool flag = true;
	while(getline(cin, str)){
		for (int i=0;i<str.length();i++){
			if (str[i] == ' ' || str[i] == '\t' || str[i] == '\r' || str[i] == '\n'){
				flag = true; // 分隔符之后才可能出现首字母
				continue;
			} else if (flag) { // 不是分隔符时,flag为true表示第一个非分隔符
				if (str[i] >= 'a' && str[i] <= 'z'){  // 若为小写字母,则改为大写;若为其他字符,则不变
					str[i] -= 32;
				} 
				flag = false; // 不管是否修改为大写字母,都要修改flag,表示已经不是首个非分隔符
			}
		}
		cout << str << endl;
	}
}

用flag变量来表示出现首个非分隔符

全部评论

相关推荐

10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
10-31 14:54
已编辑
门头沟学院 算法工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务