天天看點

HDOJ 2026

首字母變大寫

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;
}
           

繼續閱讀