Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
-_-想不明白,为啥就错了呢#include <stdio.h> #include <string.h> void main() { char in[202]; int i; char tmp1[200],tmp2[200]; scanf("%s", in); { bool can=true; bool c=false; bool java=false; if(in[0]<='Z' || in[0]=='_'){//大写开头或者'_'开头 can=false; } for(i=1;in[i];i++){ if(in[i]<='Z'){ if(c==true){//如果是c++的名字,出现大写就错 can=false; break; } else{ java=true;//是java型,往中间加一个'_',并变成小写 char tmp3=in[i]+6+26; in[i]=0; strcpy(tmp1,in); in[i]=tmp3; strcpy(tmp2,&in[i]); in[0]=0; strcat(in,tmp1); strcat(in,"_"); strcat(in,tmp2); } } else if(in[i]=='_'){ if(java==true){//如果已经是java就错 can=false; break; } else{ if(in[i+1]==0 || in[i+1]<='Z' || in[i+1]=='_'){//如果以'_'结尾,或者后面还是'_',或者不是小写,就错 can=false; break; } else{ c=true;//去掉中间的'_',换成大写 in[i]=0; strcpy(tmp1,in); in[i+1]-=6+26; strcpy(tmp2,&in[i+1]); in[0]=0; strcat(in,tmp1); strcat(in,tmp2); i++; } } } } if(can==false) printf("Error!\n"); else printf("%s\n",in); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator