在C语言编程时候出现的小问题。原来的要求是:
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 #include<stdio.h> #include<string.h> int main() { int i; char a[100]; while(scanf("%s",a)!=EOF) { if(a[0]>='a'&&a[0]<='z') a[0]-=32; for(i=1;i<strlen(a);i++) { if(a[i]==' ') { if(a[i+1]>='a'&&a[i+1]<='z') a[i+1]-=32; } } printf("%s",a); } } 这样子输出的格式将吞掉空格; 如果改为: #include<stdio.h> #include<string.h> int main() { int i; char a[100]; while(scanf("%s",a)!=EOF) { if(a[0]>='a'&&a[0]<='z') a[0]-=32; for(i=1;i<strlen(a);i++) { if(a[i]==' ') { if(a[i+1]>='a'&&a[i+1]<='z') a[i+1]-=32; } } puts(a); } } 则每输出一个单词换一行;转载于:https://www.cnblogs.com/jianglan/archive/2010/07/14/1777327.html
相关资源:c语言有趣的100个例子代码