1. 程式人生 > >HDU-2026

HDU-2026

HDU
首字母變大寫
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 82667 Accepted Submission(s): 44678

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

基本操作,按題目思路來
ASCII程式碼中,大寫字母=小寫字母-32

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
	char str[100]="";
	while (gets(str)!=NULL)//gets函式讀取到換行符或者檔案末尾停止,返回值如果成功輸入str首地址,否則返回NULL。
	{
		int l = strlen(str);
		for (int i = 0; i < l; i++)
		{
			if (i == 0)//首單詞特判
				str[i] -= 32;
			else
			if (str[i] == ' '&&str[i+1] <= 'z'&&str[i + 1] >= 'a')//判斷單詞開始
				str[i+1] -= 32;
		}
		puts(str);
	}
	return 0;
}