#include <stdio.h> int main(){ char str[110] = " "; // 注意这里先将字符串初始化为一个空格,而非空串 while(gets(str+1)){ // 注意这里读取字符时,存储从第一个字符开始,而不是字符串的开头 int i=1; // 注意这里下标也从 1 开始 while(str[i]){ if((str[i-1]==' ' || str[i-1]=='\t') && 'a'<=str[i] && str[i]<='z'){ str[i] -= 32; } i++; } puts(str+1); // 注意这里输出也是从第一个位置开始,而非是字符串的起始位置 } return 0; } /************************************************************** Problem: 2185 User: admin Language: C++ Result: Accepted Time:12 ms Memory:1036 kb ****************************************************************/