题目信息如下
第一种方法可采用循环结构处理
#includeint main() { char ch; ch=getchar(); do //采用do,while循环的原因是可以做到一个字符一个字符的处理 { if(ch>='A'&&ch<='Y')//范围是从a到y的原因是为了避免产生越界,下面对越界问题进行了单独处理 ch=ch-'A'+'b';//此处还可写为 ch=ch-65+98 ,利用字符在ASCII码字符集中的十进制数值来进行转换;下同 else if(ch>='a'&&ch<='y') ch=ch-'a'+'B'; else if(ch=='Z') ch='a'; else if(ch=='z') ch='A'; else ch=ch; putchar(ch); //在循环中顺序打出字符 ch=getchar();//输入下一个字符 }while(ch!='n'); return 0; }
第二种方法可以使用数组做(也用到了循环,只不过结构不同)
#includeint main() { char s[80]; int i,n; i=0; while((s[i]=getchar())!='n') i++; s[i]=' '; n=i; for(i=0;i ='A'&&s[i]<='Y') s[i]=s[i]-'A'+'b'; else if(s[i]>='a'&&s[i]<='y') s[i]=s[i]-'a'+'B'; else if(s[i]=='Z') s[i]='a'; else if(s[i]=='z') s[i]='A'; else s[i]=s[i]; } puts(s); }
谢谢uu们的阅读嗷,如果对你们有帮助的话麻烦给我点个赞啦~



