C语言大写字母转换为小写字母,并输出程序
2个回答
展开全部
有三种方式可以解决c语言大小写字母的转换
1.使用C语言提供的函数:toupper(),tolower()
使用这两个函数需要引入头文件:#include<ctype.h>
示例代码:
输入如下
2.自己编写转换函数:
因为大小写之间的ASCII码值的差值是固定的,因此可以使用‘a’-‘A’来获取差值。
实例代码:
输出如下:
3.异或0x20来实现转换:
0x20是16进制,表示为2进制是00100000,这样可能还是不明显,转换为10进制,其实就是32
对了,还是利用32.
异或:相同为0,不同为1. 也就是说,任何数字与0异或都是它本身。
所以将其他位都设为0,把第6位(从左向右)设置为1,也就是0x20
如果第6位是1,则异或结果为0.
如果第6位是0,则异或结果为1.
实现了加减32的操作。
示例代码:
输入如下:
希望可以帮到你。。。
展开全部
#include<stdio.h>int
main()
{
char
end;bool
tc=false;int
count=0;
printf("请输入一个大写字母:
");
char
ch;bool
check=true;char
oper;
while(
~scanf("%c",&ch)
)
{
getchar();
if(ch>='a'&&ch<='z')
{
printf("你输入了一个小写字母:%c\n",ch);
check=false;
if(
!check
)
{
printf("是否把小写转换成大写(是->y;否->n):");
oper=getchar();//getchar();
if(oper=='y'||oper=='Y')
printf("转换后的大写字母是:%c\n",ch-32);
else
if(oper=='n'||oper=='N')
printf("输入错误,请重新输入:
");
getchar();
check=true;tc=true;
}
}
else
if(ch>='A'&&ch<='Z')
{
printf("你输入的是大写字母%c\n",ch);
printf("转换后对应的小写字母是:");
printf("%c\n",ch+32);tc=true;
}
else
{
printf("input
error!
请重新输入\n");
continue;
}
if(tc)
{
printf("转换完成,继续->1,退出->2!
:
");
end=getchar();getchar();
if(end=='1')
{
printf("请输入一个大写字母:
");continue;}
else
if(end=='2')
break;
else
printf("input
error!\n");
}
}
return
0;
}
main()
{
char
end;bool
tc=false;int
count=0;
printf("请输入一个大写字母:
");
char
ch;bool
check=true;char
oper;
while(
~scanf("%c",&ch)
)
{
getchar();
if(ch>='a'&&ch<='z')
{
printf("你输入了一个小写字母:%c\n",ch);
check=false;
if(
!check
)
{
printf("是否把小写转换成大写(是->y;否->n):");
oper=getchar();//getchar();
if(oper=='y'||oper=='Y')
printf("转换后的大写字母是:%c\n",ch-32);
else
if(oper=='n'||oper=='N')
printf("输入错误,请重新输入:
");
getchar();
check=true;tc=true;
}
}
else
if(ch>='A'&&ch<='Z')
{
printf("你输入的是大写字母%c\n",ch);
printf("转换后对应的小写字母是:");
printf("%c\n",ch+32);tc=true;
}
else
{
printf("input
error!
请重新输入\n");
continue;
}
if(tc)
{
printf("转换完成,继续->1,退出->2!
:
");
end=getchar();getchar();
if(end=='1')
{
printf("请输入一个大写字母:
");continue;}
else
if(end=='2')
break;
else
printf("input
error!\n");
}
}
return
0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询