c++ 字母大小写转换代码,在一个字符串里大写转为小写,小写转为大写。

#include<stdio.h>#include<string.h>voidmain(){charstr[51],str1[21];printf("字符串1\n");s... #include<stdio.h>
#include<string.h>
void main()
{
char str[51],str1[21];
printf("字符串1\n");
scanf("%s",str);
strlwr(str)&&strupr(str);
printf("转换结果:%s\n",str);
}
哪位帮我看看,我想要的效果是类似于aaAA,转化成AAaa,弄了好久都没有弄好,求各位大神指点一下!!
展开
 我来答
小星星教育知识分享
高粉答主

2019-12-06 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67136

向TA提问 私信TA
展开全部

#include<stdio.h>

int main()

{

int I=2;//赋值使I不为零

while(I)//当括号内表达式不为零时实现后面的循环

{

charb;

scanf("%c",&b);

if(b>='A'&&b<='Z')

{

b=b+32;

printf("%c",b);

}

elseif(b>='a'&&b<='z')

{

b=b-32;

printf("%c",b);

}

}

return0;

}

扩展资料

C语言:将字符串中所有小写字母转为大写字母

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#defineN100

int main()

{

chara[N];

inti;

scanf("%s",a);

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

{

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

printf("%c",a[i]-32);

else

printf("%c",a[i]);

}

return0;

}

cjj796
2013-11-06 · TA获得超过8709个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3475万
展开全部

你好!!

    

程序给你,你看看吧,有问题再问,满意请采纳

#include <iostream>
using namespace std;
int main()
{

  i++;                                  //下标后移,取下一字母
 }
 return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
never715
2013-11-06 · TA获得超过942个赞
知道小有建树答主
回答量:1010
采纳率:84%
帮助的人:464万
展开全部
//////////////////////////////////////////////////////////////////////
#include <stdio.h>

char Transform(const char ch);

int main()
{
    int i = 0;
    char str1[21] = {0};
    char str[21] = {0};
    printf("字符串:");
    scanf("%s", str1);
    
    for ( i = 0; i < 21; i++ )
    {
        str[i] = Transform(str1[i]);
    }

    printf("转换结果:%s\n", str);

    return 0;
}

char Transform(const char ch)
{
    if (ch >= 97 && ch <= 122)
    {// a - z
        return ch & 0xDF; // 1101 1111
    }
    else if(ch >= 65 && ch <= 90)
    {// A - Z
        return ch | 0x20; // 0010 0000
    }

    return ch;
}

实例:

追问
好厉害!!前面还可以看懂,可是后面的0xDF,0x20,是什么意思没有明白,可以麻烦你解释一下吗?谢谢了!!
追答
ch & 0xDF;// 相当于ch-32
ch | 0x20;// 相当于ch+32
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一白二黑
推荐于2017-11-26 · TA获得超过177个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:94.4万
展开全部
/*在C语言中是这样做的,异或一下就好了,大小写字母差着一个32*/
#include<stdio.h>
#include<ctype.h>
void main(void)
{
char str[80];
int i;
printf("输入一个字符串: ");
gets(str);
for(i=0;str[i]!='\0';i++)
str[i]=isalpha(str[i])?str[i]^32:str[i];
printf("转换后的字符串: %s\n",str);
return;
}
追问
str[i]=isalpha(str[i])?str[i]^32:str[i];
这一段有点复杂,可以有简单一点的表达吗?
谢谢了!!不好意思了。。
追答
str[i]=isalpha(str[i])?str[i]^32:str[i]
三目运算符,看一下百科就明白了
int isalpha(int)是ctype.h里的函数,是用来判断是不是字符的,
str[i]^32是用来异或的,如果大写就变小写,小写就变大小写
比如说大写字母A 的ASC值是 65 ,二进制格式是1000001
小写字母a的ASC值是97 , 二进制格式是1100001
差值是32
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
权绮067
2022-08-30
知道答主
回答量:27
采纳率:0%
帮助的人:8474
展开全部
#include<iostream>
using namespace std;
int main()
{
char a;
cin>>a;
if(a>='a' && a<='z')
{
a = a-32;
}
else if(a>='A' && a<='Z')
{
a= a+32;
}
cout<<a;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式