题目描述:
从键盘输入一个长度大于10的字符串,现要求:将字符串中的所有大小写字母都改写成该字母的下一个字母。如:最后一个小写字母z改写成字母a;最后一个大写字母Z改写成A,其他字符依照原有顺序不变。
输入格式
输入只有一行,包含1个任意的不带有空格的字符串(其长度在10到1000之间)。
输出格式
输出只有一行,即为满足条件的字符串。
思路:
1、注意字符串的加减,不能带引号
2、注意范围的表达方式
代码:
#include <iostream>
#include <cstring>
using namespace std;
char A[1005];
int main(){
cin>>A;
//因为不带空格,所以可以用cin或者scanf读进来
int N = strlen(A);
for(int i=0;i<N;i++){
//不可以用下行所示表示
// if(('a'<=A[i]<='z')||('A'<=A[i]<='Z')){
if((A[i]>='a'&&A[i]<='z')||(A[i]>='A'&&A[i]<='Z'))
if(A[i]=='z'||A[i]=='Z'){
A[i]-= 25; //这里25不能加引号
}else{
A[i]++;
}
}
cout<<A;
return 0;
}