#include
int main()
{char q[100];
scanf("%s",&q);
int i;
for(int i=1;q[i]!='\0';i++){
if(q[i]>='a'&&q[i]<'z'){q[i]=q[i]+1-32;
}
if(q[i]>='A'&&q[i]<'Z'){q[i]=q[i]+1+32;
}
if(q[i]=='z'){q[i]='A';
}
if(q[i]=='Z'){q[i]='a';
}
}
for(int j=1;j<=i;j++){
printf("%s",q[j]);
}
return 0;
}
变换规则是:将明文中的所有英文字母替换为字母表中的后一个字母,同时将小写字母转换为大写字母,大写字母转换为小写字母。例如,字母a->B、b->C、…、z->A、A->b、B->c、…、Z->a。输入一行字符,将其中的英文字母按照以上规则转换后输出,其他字符按原样输出。
应该怎么修改
修改见注释,供参考:
#include<stdio.h>
int main()
{
char q[100];
scanf("%s",q); //scanf("%s",&q);
int i;
for(i=0;q[i]!='\0';i++){ //for(int i=1;q[i]!='\0';i++)
if(q[i]>='a'&&q[i]<'z'){
q[i]=q[i]+1-32;
}
else if(q[i]>='A'&&q[i]<'Z'){
q[i]=q[i]+1+32;
}
else if(q[i]=='z'){
q[i]='A';
}
else if(q[i]=='Z'){
q[i]='a';
}
}
for(int j=0;j<i;j++){ //for(int j=1;j<=i;j++)
printf("%c",q[j]); // printf("%s",q[j]);
}
return 0;
}
#include<stdio.h>
int main()
{char q[100];
scanf("%s",&q);
int i;
for(i=0;q[i]!='\0';i++)
{
if(q[i]>='a'&&q[i]<'z')
{
q[i]=q[i]+1-32;
}
else if(q[i]>='A'&&q[i]<'Z')
{
q[i]=q[i]+1+32;
}
if(q[i]=='z')
{
q[i]='A';
}
else if(q[i]=='Z')
{
q[i]='a';
}
}
for(int j=0;j<i;j++)
{
printf("%c",q[j]);
}
return 0;
}
转换大小写的代码:
#include<iostream>
#include<cstdio>
#include<string.h>
//#include<algorithm>
//#include<string>
//#include<algorithm>
using namespace std;
string s;
char s1[100];
int main(){
while(~scanf("%s",s1)){
for(int i =0;i<strlen(s1);++i){
s1[i] = toupper(s1[i]);//转换为大写
}
printf("%s\n",s1);
for(int i =0;i<strlen(s1);++i){
s1[i] = tolower(s1[i]);//转换为小写
}
printf("%s\n",s1);
}
}
看下这篇博客,也许你就懂了,链接:字符转 ASCII 码