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

2024-11-01 03:36:15
推荐回答(5个)
回答(1):

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

1、字母

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

头文件是

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

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

2、字符串

strupr()

strlwr()

头文件不说也应该很熟悉

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

扩展资料

字母大小写转换这类题目主要通过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;

④ 打印输出。

回答(2):

strupr ()
  原型:extern char *strupr(char *s);
  用法:#include
  功能:将字符串s转换为大写形式
  说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。

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

有问题请追问

回答(3):

strupr ()
原型:extern char *strupr(char *s);
用法:#include
功能:将字符串s转换为大写形式
说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。

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

回答(4):

#include
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<}
cout<cin.get();
return 0;
}
个人建议,如果能使用指针也可以的。

回答(5):

#include
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<cout<return 0;
}