简单的C程序有问题帮我看下

来源:百度知道 编辑:UC知道 时间:2024/06/22 08:45:03
我要实现输入一个字符,来判断是否是大写字母,如果是写出对应的小写母程前后各俩个字母,
如果是小写字母写出对应的大写字母前后各一个,下面是我自己写的,出来结果不对,能用我这种格式帮我改下,分析下吗
#include <stdio.h>
void main()
{char a,b,c,d;
printf("请输入一个字符.");
getchar();
{if(d>=65&&d<=90)
{a=d+31;b=d+32;c=d+33;}
else if(d>=97&&d<=122)
{a=d-31;b=d-32;c=d-33;}
}
printf("%c,%c,%c\n",a,b,c);
getch();
}

#include <stdio.h>
void main()
{char a,b,c,d;
printf("请输入一个字符.");
d=getchar(); /*帮你改了最致命的错误*/
{if(d>=65&&d<=90)
{a=d+31;b=d+32;c=d+33;} /*这里及下面也有不妥的地方,比如我输了个Z,这时要输出yza才对的。这里我就不改了,多思考才有进步*/
else if(d>=97&&d<=122)
{a=d-31;b=d-32;c=d-33;}
}
printf("%c,%c,%c\n",a,b,c);
getch();
}

#include <stdio.h>
void main()
{
char a,b,c,d;
printf("请输入一个字符.");
d=getchar();

if(d>=65&&d<=90)
{
a=d+31;
b=d+32;
c=d+33;
}
else if(d>=97&&d<=122)
{
a=d-31;
b=d-32;
c=d-33;
}

printf("%c,%c,%c\n",a,b,c);

}

LS正解,在IF在嵌套几个IF做下判断就完善了