C++语言大小写转换的函数

C++语言大小写转换的函数可以将一个字符串的大写字母转换成小写字母,小写字母转换成大写字母。... C++语言大小写转换的函数可以将一个字符串的大写字母转换成小写字母,小写字母转换成大写字母。 展开
 我来答
娱乐小八卦啊a
高粉答主

2020-05-16 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117827

向TA提问 私信TA
展开全部

首先大小写相差32,转换的话自己写函数也是可以写出来的。

1、字母

如果是字母转的话,用toupper(),tolower()

头文件是<ctype.h>

char a='a';2 char b;3 b=toupper(a);

不过要注意是有返回值的。

2、字符串

strupr()

strlwr()

头文件不说也应该很熟悉<string.h>

这两个的返回值是原字符串的指针。

扩展资料

字母大小写转换这类题目主要通过ASCII(美国信息交换标准代码)码差值实现,A对应ASCII码十进制数字是65,a对应ASCII码十进制数字是97,即大小写字母之间ASCII码差值为32。

想要将大写字母转换为小写字母可以将该字符ASCII码值+32,同理小写字母转换成大写字母只需将该字符ASCII码值-32。

算法思想

由于大写字母与小写字母之间的差值为 32,因此小写字母转换为大写字母的方法就是将小写字母的 ASCII 码值减去 32,便可得到与之对应的大写字母。

利用 getchar 函数从键盘上输入一个小写字母,并将其赋给一个字符变量 a;然后将 a—32 的值赋给字符变量 b;最后进行输出,输出时先输出字母,再将字母以整数形式输出。其具体步骤如下:

① 定义两个字符变量 a、b;

② a=get char();

③ b=a—32;

④ 打印输出。

derek_chen2012
推荐于2017-09-20 · TA获得超过465个赞
知道小有建树答主
回答量:284
采纳率:0%
帮助的人:103万
展开全部
strupr ()
  原型:extern char *strupr(char *s);
  用法:#include <string.h>
  功能:将字符串s转换为大写形式
  说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。

strlwr ()
  原型:extern char *strlwr(char *s);
  用法:#include <string.h>  
 功能:将字符串s转换为小写形式  
 说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。
注意事项:在Linux的编译器中,有可能会编译不通过。

有问题请追问
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-06-26
展开全部
strupr ()
原型:extern char *strupr(char *s);
用法:#include <string.h>
功能:将字符串s转换为大写形式
说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。

strlwr ()
原型:extern char *strlwr(char *s);
用法:#include <string.h>
功能:将字符串s转换为小写形式
说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。
注意事项:在Linux的编译器中,有可能会编译不通过。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heyuxiwsh
2012-10-24
知道答主
回答量:21
采纳率:100%
帮助的人:11.1万
展开全部
#include <iostream>
using namespace std;
int main( )
{
char a[1000];
cin>>a;
for(int i=0;a[i]!='\0';i++)
{
(a[i]>='A'&&a[i]<='Z')?a[i]+=32:a[i]-=32;
}
for(i=0 ;a[i]!='\0';i++)
{
cout<<a[i];
}
cout<<endl;
cin.get();
return 0;
}
个人建议,如果能使用指针也可以的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cheerfullchen
2012-06-26 · TA获得超过468个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:169万
展开全部
#include <iostream>
using namespace std;
int main()
{
char a[20];
int i=0;
cout<<"请输入一串字符:\n";
cin>>a;
for(;a[i];i++)
{
if(a[i]>'a'&&a[i]<'z')
a[i]-=32;
else if(a[i]>'A'&&a[i]<'Z')
a[i]+=32;
}
for(i=0;a[i];i++)
cout<<a[i];
cout<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式