首字母變大寫
Problem Description
輸入一個英文句子,将每個單詞的第一個字母改成大寫字母。
Input
輸入資料包含多個測試執行個體,每個測試執行個體是一個長度不超過100的英文句子,占一行。
Output
請輸出按照要求改寫後的英文句子。
Sample Input
i like acm
i want to get an accepted
Sample Output
I Like Acm
I Want To Get An Accepted
Author
lcy
Source
C語言程式設計練習(四)
解題思路
大概考察的是對于空格的判斷,以及小寫字元轉大寫。
通過對ASCII碼的查詢可知,大小寫字元間的差距與空格一樣,都是32。
記得使用getchar()吃掉回車,不然會自動跳出循環。
AC
#include<iostream>
#include<string>
using namespace std;
int main()
{
char s[105];
int point;
while (cin.get(s, 105)) {
point = 1;
s[0] -= 32;
while (s[point] != '\0') {
if (s[point] == 32) {
point++;
s[point] -= 32;
}
else {
point++;
}
}
cout << s << endl;
memset(s, 0, sizeof(s));
getchar();
}
return 0;
}