Problem F: 零起点学算法106——首字母变大写
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<stdio.h>
#include<string.h>
int main(void)
{
char a[100];
int i,k;
while(gets(a)!=NULL)
{
k=strlen(a);
if(a[0]>='a'&&a[0]<='z')
a[0]-=32;
for(i=1;i<k;i++)
{
if(a[i]==' ')
{
if(a[i+1]>='a'&&a[0]<='z')
{
a[i+1]-=32;
}
}
}
printf("%s",a);
printf("\n");
}
return 0;
}
总结
1、strupr和strlwr函数是将字符串中的全部都变换,所以本题不能使用。