1. 程式人生 > 其它 >C++實現 單詞首字母大寫

C++實現 單詞首字母大寫

所謂“單詞”是指連續不含空格的字串,各單詞之間用空格分隔,空格數可以是多個。

要求編寫程式,輸入一行字元,將每個單詞的首字母改為大寫並去掉多餘空格後輸出。即輸入時若單詞間有多個空格,輸出時單詞之間只保留一個空格。

輸入
輸入給出一行字元。

輸出
在一行中輸出已輸入的字元,其中所有單詞的首字母已改為大寫,單詞之間只用一個空格分隔。

樣例輸入

How   are you?

樣例輸出

How Are You?

程式碼

#include<iostream>
#include<cstring>
using namespace std; 
int main(){
	string str;
getline(cin,str); for(int i = 0; i < str.size(); i++){ if(str[0] >= 'a' && str[0] <= 'z') str[0] -= 32; if(str[i-1] == ' ' && str[i] >= 'a' && str[i] <= 'z') str[i] -= 32; } int p; for(int i = 0;i < str.size(); i++){ if(str[i]!=' '){ p = i; break
; } } for(int i = p;i < str.size(); i++){ if(str[i]==' ' && str[i+1]== ' '){ continue; } cout<<str[i]; } return 0; }