怎样记录输入几个字符?
#include<stdio.h>int main()
{
int fanyi(char m);
int i, n=1;
char a[20];
printf("请输入一个单词:");
for(i=0;i<20;i++)
{
scanf("%c",&a[i]);
n=n+1; ///////////////////是不是这里错了?
if(a[i]='\n')
break;
}
for(i=0;i<n;i++)
{
a[i]=fanyi(a[i]);
}
printf("译码为:");
for(i=0;i<n;i++)
{
printf("%c",a[i]);
}
printf("\n");
}
int fanyi(char m)
{
char x; if(m>=65&&m<=68) //字符为大写A~D
{x=m+22;}
else if(m>=97&&m<=100)//字符为小写a~d
{x=m+22;}
else if(m>=69&&m<=90)//字符为大写E~Z
{x=m-4;}
else if(m>=101&&m<=122)//字符为小写e~z
{x=m-4;}
return(x);
}
按照一个字母被它前面第4个字母代替,例如“E”用“A”代替“Z”用“U”代替“D”用“Z”代替,“C”用“Y”代替,“B”用“X”代替,“A”用“W”代替。编写的代码结果很奇怪,请高手帮忙找下哪错了。