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

猜你喜欢

转载自blog.csdn.net/WxqHUT/article/details/85113160