C语言:求前驱和后继字母。输入一个大写字母,求对应的小写字母及它的前驱和后继
#include<stdio.h>intmain(){intch,ch1,ch2;scanf("%c",&ch);if(ch>='B'&&ch<='Y'){ch1=ch+...
#include<stdio.h>
int main()
{
int ch,ch1,ch2;
scanf("%c",&ch);
if(ch>='B'&&ch<='Y')
{ ch1=ch+31;
ch2=ch+33;
}
else if(ch=='A')
{ ch1='-';
ch2=ch+33;}
else
{
ch1=ch+31;
ch2='-';
}
printf("%c %c",ch1,ch2);
return 0;
}
运行时为什么只有前区,没有后继 展开
int main()
{
int ch,ch1,ch2;
scanf("%c",&ch);
if(ch>='B'&&ch<='Y')
{ ch1=ch+31;
ch2=ch+33;
}
else if(ch=='A')
{ ch1='-';
ch2=ch+33;}
else
{
ch1=ch+31;
ch2='-';
}
printf("%c %c",ch1,ch2);
return 0;
}
运行时为什么只有前区,没有后继 展开
2个回答
展开全部
楼主你好。
#include<stdio.h>
int main()
{
char ch,ch1,ch2;
scanf("%c",&ch);
if(ch>='B'&&ch<='Y'){
ch1=ch+31;
ch2=ch+33;
}else if(ch=='A'){
ch1='-';
ch2=ch+33;
}else {
ch1=ch+31;
ch2='-';
}
printf("%c %c\n",ch1,ch2);
return 0;
}
ch,ch1,ch2应该声明为char类型。
你原先定义成为int类型会导致条件判断的时候总是进入最后一个else中。所以只有前驱,没有后继。
#include<stdio.h>
int main()
{
char ch,ch1,ch2;
scanf("%c",&ch);
if(ch>='B'&&ch<='Y'){
ch1=ch+31;
ch2=ch+33;
}else if(ch=='A'){
ch1='-';
ch2=ch+33;
}else {
ch1=ch+31;
ch2='-';
}
printf("%c %c\n",ch1,ch2);
return 0;
}
ch,ch1,ch2应该声明为char类型。
你原先定义成为int类型会导致条件判断的时候总是进入最后一个else中。所以只有前驱,没有后继。
追问
int main()
{
char ch,ch1,ch2; 不是定义有char吗?该怎么改。。
追答
你原先是这样定义的:int ch,ch1,ch2;你只要运行的贴上的代码就没问题,我的已经改好了也试过了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询