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