首字母变大写
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 37604 Accepted Submission(s): 20994
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
Recommend
#include<stdio.h>
int main(void)
{
char a[100];
int i;
int flag = 0; //用于标记是否单词开头。
while(gets(a)!=NULL)
{
flag = 0;
for(i = 0;i < 100;i ++ )
{
if(a[i] == '\0'&&a[i+1] == '\0')
break;
if(flag == 0)
a[i] = a[i] - 'a' + 'A';
if(a[i] == ' ')
flag = 0;
if(!(a[i] == ' '))
flag ++;
/* if(a[i] == '\0')
break; */
}
puts(a);
}
return 0;
}
以上为正确代码。
以下为遇到的一些问题:
#include<stdio.h>
int main(void)
{
char a[100];
int i;
int flag = 0; //用于标记是否单词开头。
while(gets(a)!=NULL)
{
flag = 0;
for(i = 0;i < 100;i ++ )
{
/*if(a[i] == '\0'&&a[i+1] == '\0')
break;*/
if(flag == 0)
a[i] = a[i] - 'a' + 'A';
if(a[i] == ' ')
flag = 0;
if(!(a[i] == ' '))
flag ++;
if(a[i] == '\0')
break;
}
puts(a);
}
return 0;
}