首字母变大写
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 60270 Accepted Submission(s): 33086
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
#include "cstdio"
#include "algorithm"
#include "cmath"
#include "cstring"
using namespace std;
int main()
{
int i, j, k, l, m, n, t;
char a[105];
while(fgets(a,sizeof(a),stdin))
{
int len=strlen(a);
a[0]=a[0]-32;
printf("%c",a[0]);
for(i=1;i<len;i++)
{
if(a[i-1]==' ')
a[i]=a[i]-32;
printf("%c",a[i]);
}
}
return 0;
}
这个虽然也水,但我学到了一些东西,读入字符串时,多利用fgets(a,sizeof(a),stdin),这个句子。如果想多次输入,就用while,搭配fgets。ascill还是要多熟悉,不熟悉做题会有点慢。