首字母变大写
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 72341 Accepted Submission(s): 39281
Problem Description
输入一个英文句子,将每个单词的第一个字母改成大写字母。
Input
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。
Output
请输出按照要求改写后的英文句子。
Sample Input
i like acmi want to get an accepted
Sample Output
I Like AcmI Want To Get An Accepted
AC code:(默认第一个字符是个字母,不会是空格)
#include<iostream> #include<cstring> using namespace std; int main() { char array[105]; int i,l; while(gets(array)) { l=strlen(array); array[0]-=32; for(i=1;i<l;i++) { if (array[i]==' ' && array[i+1]!=' ') array[i+1]-=32; } for(i=0;i<l;i++) { cout<<array[i]; } cout<<endl; } return 0; }另解:(考虑到第一个字符可以是空格,题目并没要求这么多)
#include<iostream> #include<cstring> using namespace std; int main() { char array[105]; int i,l; while(gets(array)) { l=strlen(array); if(array[0]>='a'&&array[0]<='z') { array[0]=array[0]-32; } for(i=0;i<=l-1;i++) { if(array[i]==' ' && array[i+1]>='a' && array[i+1]<='z') { array[i+1]=array[i+1]-32; } } cout<<array<<endl; } return 0; }