c语言编程:将小写字母转换为大写字母并输出。急求谢了。

c语言编程:将小写字母转换为大写字母并输出。急求谢了。,第1张

有三种方式可以解决c语言大小写字母的转换

1使用C语言提供的函数:toupper(),tolower()

使用这两个函数需要引入头文件:#include<ctypeh>

示例代码

输入如下

2自己编写转换函数:

因为大小写之间的ASCII码值的差值是固定的,因此可以使用‘a’-‘A’来获取差值。

实例代码:

输出如下:

3异或0x20来实现转换:

0x20是16进制,表示为2进制是00100000,这样可能还是不明显,转换为10进制,其实就是32

对了,还是利用32

异或:相同为0,不同为1  也就是说,任何数字与0异或都是它本身。

所以将其他位都设为0,把第6位(从左向右)设置为1,也就是0x20

如果第6位是1,则异或结果为0

如果第6位是0,则异或结果为1

实现了加减32的 *** 作。

示例代码:

输入如下:

希望可以帮到你。。。

#include <stdioh>

int isletter(char c)

{

    return c>='a'&&c<='z'||c>='A'&&c<='Z';

}

int isdigit(char c)

{

    return c>='0'&&c<='9';

}

int isblank(char c)

{

    return c==' ';

}

int main()

{

    char c;

    int letters,digits,blanks,others;

    for(letters=digits=blanks=others=0;(c=getchar())!='\n';)

        if(isletter(c))

            letters++;

        else if(isdigit(c))

            digits++;

        else if(isblank(c))

            blanks++;

        else

            others++;

    printf("letters:%d blanks:%d digits:%d others:%d\n",letters,blanks,digits,others);

    return 0;

}

下面的程序用不同的代码输出两次,你可以选择其中一种。
#include<stdioh>
#define P(a,b) printf("%c%c",a,b)
void main()
{
for(int i=0;'a'+i<'z';i+=2)
P('A'+i,'a'+i+1);
char a='A'-2;
while((char)(a+=2)<'Z')
P(a,a+33);
}

#include<stdioh>
int main(void)
{
char ch;
int flag=0;
while((ch=getchar())!='\n')
{
    if(ch>='A' && ch <='Z') 
    {
        printf("%c",ch);
        flag=1;
    }
}
if(!flag) printf("Not Found");
}

#include<stdioh>
#include<ctypeh>
#include<stringh>
void main()

char a[100],p,y;
int x,i,num;
gets(a);
p=a;
x=strlen(a);
//不知道你中间这一段有啥用 我全删了
for(i=0;i<x;i++)
if((p+i)>=65&&(p+i)<=90)
printf("%c",(p+i));
}
FONTNAME and FONTAMEL
FONTNAMEFONTAMEL
Press any key to continue

你好,A的ASCII码是65,Z的ASCII码是90,所以,你可以定义个整型变量i,取值为65~90(就是从A到Z的ASCII码),然后输出ASCII对应的字母就是从A到Z了,代码如下:
#include "stdioh"
void main()
{
int i=65;
for(;i<=90;i++) printf("%c",i);
getchar();
}


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

原文地址: http://outofmemory.cn/yw/12902705.html

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

发表评论

登录后才能评论

评论列表(0条)

保存