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,弄了好久都没有弄好,求各位大神指点一下!! 展开
#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,弄了好久都没有弄好,求各位大神指点一下!! 展开
5个回答
展开全部
#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;
}
展开全部
//////////////////////////////////////////////////////////////////////
#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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*在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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询