满意答案
sgdhd46546
2013.09.23
采纳率:49% 等级:12
已帮助:5601人
#include
#include
char fun(char c)
{
if( c>='A' && c<='Z')
/**************found**************/
c=c+32; /*改为加号*/
if(c>='a' && c<='u')
/**************found**************/
c=c+5; /*改为加号*/
else if(c>='v'&&c<='z')
c=c-21;
return c;
}
int main(void)
{
char c1,c2;
printf("\nEnter a letter(A-Z):(| to quit)\n ");
while(scanf("%c",&c1) == 1 && c1 != '|')/*改为用scanf函数读取输入,因为getchar会读取换行符并保存,如你输入“A 回车“它就读取A
+ ‘\n’所以没有正确的输出*/
{
if( isupper( c1 ) )
{
c2=fun(c1);
printf("\n\nThe letter \'%c\' change to \'%c\'\n", c1,c2);
}
else printf("\nEnter (A-Z)!\n");
}
}
我做了部分修改 重点部分家了注释 你看看吧 呵呵 经过了编译 没错误是肯定的 但程序的友好性不完美 但比源程序要好
00分享举报