C语言经典题每日一题(字母大小写转换)

74 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第11天,点击查看活动详情 在本篇文章里,我将分享一道很经典的C语言题———字母大小写转换,并且分享解题思路,希望可以帮助到你

描述

KiKi想完成字母大小写转换,有一个字符,判断它是否为大写字母,如果是,将它转换成小写字母;反之则转换为大写字母。

输入描述:

多组输入,每一行输入一个字母。

输出描述:

针对每组输入,输出单独占一行,输出字母的对应形式。

输出一个整数,即小乐乐可以走的方法数

示例1

输入:a A Z 输出:A a z

输入:a A Z 输出:A a z

以下代码均经过牛客测试,均正确,请放心测试

解题思路:

这里的我提供三种解法:

代码:

#include <stdio.h>


//解法一:
// int main() 
// {
//     char ch=0;

//     while(scanf("%c",&ch)==1)
//     {
//         if(ch>='a'&&ch<='z')
//         printf("%c\n",ch-32);
//         else if(ch>='A'&&ch<='Z')
//         printf("%c\n",ch+32);
//     }

//     return 0;
// }

//解法二:
// int main() 
// {
//     char ch=0;
//     //scanf读取数据失败的时候,返回EOF
//     while(scanf("%c",&ch)!=EOF)
//     //scanf读取数据成功的时候,返回的是读取的数据的个数
//     //while(scanf("%c",&ch)==1)
//     {
//         if(ch>='a'&&ch<='z')
//         printf("%c\n",ch-32);
//         else 
//         printf("%c\n",ch+32);
//         getchar();//处理'\n'
//     }

//     return 0;
// }

//解法三:
#include<ctype.h>

int main() 
{
    char ch=0;

    //scanf读取数据失败的时候,返回EOF
    while(scanf("%c",&ch)!=EOF)
    {
        if(islower(ch))
        printf("%c\n",toupper(ch));
        else if(isupper(ch))
        printf("%c\n",tolower(ch));
    }

    return 0;
}

结果展示:

img

最后

十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:

1、要么努力往上爬,要么烂在社会最底层。
2你现在的努力,真的配得上你的野心吗 ?
3、承认吧你表面的不屑,只是因为你骨子里的不敢。
4、“你说我现在开始好好学,晚了吗?” “我说晚了,你就不学吗???” 他们都是假装颓废,而你是真的颓废。
5、有种错觉叫做“我在头脑中激情澎湃了一会儿就权当我努力过了”,还有种常态叫做“我临睡前想做件大事改变世界激动得睡不着第二天早上连早起都做不到”。

最后如果觉得我写的还不错,请不要忘记点赞✌,收藏✌,加关注✌哦(。・ω・。)

*愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚==菜鸟==逐渐成为==大佬==。加油,为自己点赞!*