C++与Java
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1463
View Code
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 using namespace std; 5 int main() 6 { 7 char c[105]; 8 int flag=0; 9 while(cin>>c) 10 { 11 flag=0; 12 for(int i=0;i<strlen(c);i++) 13 { 14 if(c[i]<'a'||c[i]>'z')//c++里只有小写,判出不符情况向下 15 { 16 if (c[i]=='_')//看是不是下划线(分隔符) 17 { 18 if(i==0||c[i+1]=='_'||c[strlen(c)-1]=='_')//开头是下划线的||中间有多条下划线连着的||最后是下划线的)都不是合法的c++格式 19 { 20 flag=1; 21 cout<<"Error"<<endl; 22 break; 23 } 24 continue; 25 } 26 else//既不是小写,又不是下划线,那么必然不符合c++格式了 27 { 28 flag=1; 29 cout<<"Error"<<endl; 30 break; 31 } 32 } 33 } 34 for (int i=0;i<strlen(c);i++) 35 { 36 if (flag)break;//不符的已经被标记过,此处不再处理 37 if(c[i]=='_')continue;//当读到分隔符时,不输出,直接入下一循环 38 if(c[i-1]=='_'&&c[i]!='_')//换大写 39 printf("%c",c[i]-32); 40 else printf("%c",c[i]); 41 if (i==strlen(c)-1)cout<<endl;//串尾换行 42 } 43 } 44 return 0; 45 }