//麻烦得很 //在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\t')、回车符('\r')、换行符('\n')。 #include <iostream> #include <cstdio> #include <string> #include <cstring> using namespace std; const int MAXSIZE=100; int main(){ string str; string sstr[MAXSIZE]; while(getline(cin,str)){ memset(sstr, 0, sizeof(sstr)); int j=0; for(int i=0;i<str.size();++i){ sstr[j]+=str[i];//就是这样,先无条件加进去,然后不对劲,就换 if(str[i]==' '||str[i]=='\t'||str[i]=='\r'||str[i]=='\n'){//麻烦得很,!=用&&,等于用||,得记得换过来。 #1 ++j;//出现空格就+1,那么空格后必然有j个单词,加上第一个有j+1个单词 } // else{ // sstr[j]+=str[i]; // } // cout<<j<<endl; // cout<<sstr[j]<<endl; } int k=j+1; for(int i=0;i<k;++i){ if(sstr[i][0]>='a'&&sstr[i][0]<='z'){//有的首字母是数字!!!!!!!!!!!!!!!!!!!! // cout<<sstr[i][0]<<endl; sstr[i][0]-=32; // cout<<sstr[i][0]<<endl; } } for(int i=0;i<k;++i){ cout<<sstr[i]; // if(i!=k-1){ // cout<<' '; // } } cout<<endl; } // printf("1 "); // printf("2\t"); // printf("3\r3.1"); // printf("4\n"); // printf("5"); }