编程c++:编写函数,将一个字符串中所有的大写字母转换为小写字母,所有的小写字母转换为大写字母。

编程c++:编写函数,将一个字符串中所有的大写字母转换为小写字母,所有的小写字母转换为大写字母。,第1张

使用地址传递而非引用传递,大概是从 C 转过来/ 有着 C 的风格吧。

char MagicFunction(char str)

{

    for(int i=0;str[i];i++)

    {

        if( str[i] > 0x40 && str[i] < 0x5B )str[i] += 0x20 ;

        else if( str[i] > 0x60 && str[i] < 0x7B )str[i] -= 0x20 ;

        else continue ;

    }

    return str ;

}

#include<iostream>

using namespace std;

void Change(char s[])

{

int i;

for(i=0;s[i]!='\0';i++)

if(s[i]>='A'&&s[i]<='Z')//检查是否为大写字母

s[i]=s[i]-'A'+'a';//改为小写字母

};

int main()

{

char a[100]="";

cin>>a;

Change(a);

cout<<a<<endl;

return 0;

}

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

1、字母

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

头文件是<ctypeh>

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

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

2、字符串

strupr()

strlwr()

头文件不说也应该很熟悉<stringh>

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

扩展资料

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

④ 打印输出。

int Fun(char str){

int i = 0;

char ch ;

while(1){

ch = str++;/当前需要判断的字符/

if(ch=='\0') break;/如果为字符串结束标志,退出循环/

else if(ch>=65 && ch <=90) /如果是大写字母,计数器加一/

i ++;

}

return i;/返回计数器的值/

}

void main(){

char str[] = "China PepoleS";/测试字符串/

printf("UpperCase Count:%d",Fun(str));/打印大写字母个数/

getch();

}

#include<stdioh>

#include<stringh>

void fun2(char ss)

{

int i;

for(i=1;i<strlen(ss);i+=2)

{

if(ss[i]>='a'&&ss[i]<='z')

ss[i]-=32;

}

}

main()

{

char ss[10];//存放字符串你得用数组,用指针的话也得初始化指针地址,类似 int a[10],char p;p=a这样

gets(ss);

fun2(ss);

puts(ss);

}

#include <stdioh>

#define N 100

void fun(char strA, char strB);

void main(void)

{

char strA[N];

char strB[N];

printf("请输入字符串:\n");

gets(strA);

fun(strA, strB);

printf("复制后的字符串:\n");

puts(strB);

}

void fun(char strA, char strB)

{

int i;

int k = 0;

for (i=0; strA[i] != '\0'; i++)

{

if ((strA[i] >= 'A') && (strA[i] <= 'Z'))

{

strB[k++] = strA[i];

}

}

strB[k] = '\0';

}

如果对你有所帮助,请记得采纳最佳答案,谢谢!

1、全部转换成大写:upper()

用法: str = ‘marsggbo’

print strupper()

结果:MARSGGBO

2、全部转换成小写:lower()

用法:str = 'MarsGGbO'

print strlower()

结果:  marsggbo

3、首字母转换成大写:capitalize()  ,其余全部小写

注意:此方法返回的字符串只有它的第一个字符大写的副本。

用法:str = 'mars is VEry sliM and cLever!'

print strcapitalize()

结果:Mars is very slim and clever!

4、标题首字母大写:title() 

用法:str = 'mARS iS slim and cLEver!'

print strtitle()

结果:Mars Is Slim And Clever!

扩展资料:

输入一串字符,将大写字母转换成小写字母,小写字母转换为大写字母

a = input("请 输入字符:")

b = []

for n in a :

if "a"<= n <= "z":

bappend(nupper())

elif"A" <= n <= "Z" :

bappend(nlower())

else:

bappend(n)

print(""join(b))

参考资料:

——Python(计算机程序设计语言)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12183916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存