c语言编程怎样求两个字母之间的字符个数
展开全部
#include
void
inputleter(){
char
lettera,lettleb;
int
num
=
0;
printf("请输入第一个字母:");
scanf("%c",lettera);
printf("请输入第二个字母:");
scanf("%c",letterb);
if(!((int)lettera>=
65&&(int)lettera<=90)||(!(l(int)ettera>=
97&&(int)lettera<=122)||(!((int)letterb>=
65&&(int)letterb<=90)||(!((int)lettera>=
97&&(int)lettera<=122)){
printf("你输入的不是字母,请重新输入!");
printf("\n");
inputleter();
}else
if(((!((int)lettera>=65&&(int)lettera<=90)&&(((int)letterb>=97&&(int)letterb<=122)
||((!((int)letterb>=65&&(int)letterb<=90)&&(((int)lettera>=97&&(int)lettera<=122)
){
printf("你输入的两个字母大小写不一致,请重新输入!");
printf("\n");
inputleter();
}else{
num
=
(int)lettera-(int)letterb-1;
if(num<0){
num
*=-1;
}
printf("字母%c和字母%c之间有%d个字符!",lettera,letterb,num);
}
}
void
main(){
inputleter();
}
void
inputleter(){
char
lettera,lettleb;
int
num
=
0;
printf("请输入第一个字母:");
scanf("%c",lettera);
printf("请输入第二个字母:");
scanf("%c",letterb);
if(!((int)lettera>=
65&&(int)lettera<=90)||(!(l(int)ettera>=
97&&(int)lettera<=122)||(!((int)letterb>=
65&&(int)letterb<=90)||(!((int)lettera>=
97&&(int)lettera<=122)){
printf("你输入的不是字母,请重新输入!");
printf("\n");
inputleter();
}else
if(((!((int)lettera>=65&&(int)lettera<=90)&&(((int)letterb>=97&&(int)letterb<=122)
||((!((int)letterb>=65&&(int)letterb<=90)&&(((int)lettera>=97&&(int)lettera<=122)
){
printf("你输入的两个字母大小写不一致,请重新输入!");
printf("\n");
inputleter();
}else{
num
=
(int)lettera-(int)letterb-1;
if(num<0){
num
*=-1;
}
printf("字母%c和字母%c之间有%d个字符!",lettera,letterb,num);
}
}
void
main(){
inputleter();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
解题思路:
1
首先将两个字母统一大小写
2
利用ASCII码特性,通过运算即可知道两个字母之间字符的个数
代码如下:
int getNum(char a,char b)
{//获取a b之间字符数量 注意 A与B之间字符的个数为0 A与C之间的个数为1,也就是B
//统一为小写
a|=0x20;
b|=0x20;
//计算字符数
if(a==b) return 0;
if(a>b) return a-b-1;
return (b-a-1);
}
1
首先将两个字母统一大小写
2
利用ASCII码特性,通过运算即可知道两个字母之间字符的个数
代码如下:
int getNum(char a,char b)
{//获取a b之间字符数量 注意 A与B之间字符的个数为0 A与C之间的个数为1,也就是B
//统一为小写
a|=0x20;
b|=0x20;
//计算字符数
if(a==b) return 0;
if(a>b) return a-b-1;
return (b-a-1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询