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

C++语言大小写转换的函数可以将一个字符串的大写字母转换成小写字母,小写字母转换成大写字母。

首先大小写相差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;

④ 打印输出。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-20
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的编译器中,有可能会编译不通过。

有问题请追问本回答被提问者和网友采纳
第2个回答  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的编译器中,有可能会编译不通过。
第3个回答  2012-10-24
#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;
}
个人建议,如果能使用指针也可以的。
第4个回答  2012-06-26
#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;
}
相似回答