7-65 字符串替换 (15分)
本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:
原字母 对应字母
A Z
B Y
C X
D W
… …
X C
Y B
Z A
输入格式:
输入在一行中给出一个不超过80个字符、并以回车结束的字符串。
输出格式:
输出在一行中给出替换完成后的字符串。
输入样例:
Only the 11 CAPItaL LeTtERS are replaced.
输出样例:
Lnly the 11 XZKRtaO OeGtVIH are replaced.
#include<stdio.h>
int main()
{
int i;
char ch,a[100];
scanf("%c",&ch);
for(i=0;ch!='\n';i++)
{
a[i]=ch;
ch=getchar();
}
int n;
n=i;
for(i=0;i<n;i++)
{
if('A'>a[i]||a[i]>'Z')printf("%c",a[i]);
else{
int c=0;
while(1){
if(a[i]+c=='Z')break;
c++;
}
char d='A';
a[i]=d+c;
printf("%c",a[i]);
}
}
}
```我的思路是先将输入的字符储存
然后对每一个字符进行判断:如果该字符'A'>a[i]||a[i]>'Z'则转化否则原样输出