【问题描述】输入一个以回车结束的字符串(少于80个字符),将其中的大写字母用下面列出的对应大写字母替换,其余字符不变,输出替换后的字符串
A-->Z B-->Y C-->X
.........................X-->C Y-->B
Z-->A
【输入形式】
【输出形式】
【样例输入】A flag of
USA
【样例输出】Z flag of FHZ
我的是这样的
#include "stdio.h"
#include "string.h"
#define MAX 80
int main()
{
char ch;
int str[MAX];
int i;
getchar();
i=0;
while((ch=getchar())!='\n')
{
str[i]=ch;
i++;
}
str[i]='\0';
for(i=0;str[i]!='\0';i++)
{
if((str[i]>='A'&&str[i]<='Z'))
str[i]='A'+'Z'-str[i];
}
for(i=0;str[i]!='\0';i++)
printf("%c",str[i]);
return 0;
}
但是为什么第一个字符无法输入呢。。
比如输入AAA,结果最后出来的只有ZZ。
求大神指点!!