题解 | #首字母大写#

首字母大写

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变量来表示出现首个非分隔符

全部评论

相关推荐

牛客410815733号:这是什么电影查看图片
点赞 评论 收藏
分享
喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务