首字母变大写
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 22837 Accepted Submission(s): 12603
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
很水的一道题目,
注意这里的小写转大写用了一个函数 toupper,需要用头文件ctype.h
//tolower是大写转成小写
1 #include<stdio.h> 2 #include<string.h> 3 #include<ctype.h> 4 int main() 5 { 6 char str[101]; 7 int i; 8 while(gets(str)) 9 { 10 str[0]=toupper(str[0]); //句子的首字母大写 11 for(i=1;i<strlen(str);i++) 12 { 13 if(str[i]==' ') 14 str[i+1]=toupper(str[i+1]); //因为这里是一个句子,所以空格后面的那个字符必定要为大写 15 } 16 puts(str); 17 } 18 return 0; 19 }
1 #include<stdio.h> 2 int main() 3 { 4 char a[100]; 5 int i; 6 while(gets(a)) 7 { 8 a[0]-=32; 9 for(i=1;a[i];i++) 10 if(a[i-1]==' ') 11 a[i]-=32; //这样也是可以的,a比A大32 12 puts(a); 13 } 14 return 0; 15 }