キャリッジリターン改行入力文字列に応じてこの目的を達成するために、およびCINおよびscanfは、入力された空間に応じて終了しているので、ビット、知っているのgetline()関数をBaiduの
首字母变大写
時間制限:2000/1000 MS(Javaの/その他)メモリ制限:32768分の65536 K(Javaの/その他)
の合計提出(S):98396受理提出(S):53264
問題の説明は、
英語の文、大文字に各単語の最初の文字を入力します。
入力
テストケースを複数備え、入力データ、各テストケースは、ラインごとに、100英語の文を超えない長さです。
出力は、
英語の文の要件に応じて出力を書き換えてください。
サンプル入力
ACMのような私は
私が受け入れられたを取得したいです
サンプル出力
Iと同様のAcm
私はアン受理を取得したいです
#include <iostream>
#include <string>
using namespace std;
int main() {
string ss;
while ( getline(cin, ss) ) { //该函数根据换行符'\n'结束输入,注意参数是string类的,不是字符数组
int len = ss.length();
ss[0] += 'A' - 'a'; //转换为大写
for (int i = 1; i < len-1; i++) { //注意这个地方别越界了
if (ss[i] == ' ' && (ss[i+1] >= 'a' && ss[i+1] <= 'z') ) { //注意判断首字母是否为小写字母
ss[i+1] += 'A' -'a';
}
}
cout << ss << endl;
}
return 0;
}