C语言 大小写字母转换

目录

1.问题描述

1.1描述

1.2输入描述:

1.3输出描述:

1.4示例

1.5备注:

2.代码解读

2.1使用ASCII码值的版本

2.2使用getchar吸收回车的版本

2.3使用函数的版本

3.以下是三种方式的全部代码

4.结语


1.问题描述

1.1描述

实现字母的大小写转换。多组输入输出。

1.2输入描述:

多组输入,每一行输入大写字母。

1.3输出描述:

针对每组输入输出对应的小写字母。

1.4示例

输入:
A
B
输出:
a
b

1.5备注:

多组输入过程中要注意“回车”也是字母,所以要“吸收”(getchar())掉该字母。

2.代码解读

2.1使用ASCII码值的版本

#include <stdio.h>
int main() {
    char ch=0;
    while(scanf("%c",&ch)==1)
    {
        if(ch>='a' && ch<='z')
      //这里的ch存储的是ASCII码值,
      //当ch的ASCII码值大于等于a的ASCII码值或者小于等于z的ASCII码值时,
      //才能运行下去

      //要查ASCII码值,请看这篇博客:ASCII码表-CSDN博客文章浏览阅读62次。今天给大家找了一张清晰的彩色ASCII码表,希望各位能够喜欢!https://blog.csdn.net/qq_58094522/article/details/137053258
            printf("%c\n",ch-32);
      //根据ASCII码值表,a的ASCII码值比A的ASCII码值多32
      // 所以要是将小写的a转为大写的A,这里需要-32才行

        else if(ch>='A' && ch<='Z')

//这里不能直接用else来表示,因为输入字母时还会输入一个回车,而回车也是字母,在内存中占据ASCII码值,需要用getchar()掉该字母,下面一个主函数会演示。
      //这里的ch存储的是ASCII码值,
      //当ch的ASCII码值大于等于A的ASCII码值或者小于等于Z的ASCII码值时,
      //才能运行下去

            printf("%c\n",ch+32);
      //根据ASCII码值表,A的ASCII码值比a的ASCII码值少32
      // 所以要是将转为大写的A,这里需要+32才行
      // 所以要是将大写的A转为小写的a,这里需要+32才行

    }
    return 0;
}

2.2使用getchar吸收回车的版本

int main() {
    char ch = 0;
    while (scanf("%c", &ch) == 1)
    {
        if (ch >= 'a' && ch <= 'z')
            printf("%c\n", ch - 32);
        else
            printf("%c\n", ch + 32);
        getchar();//用于吸收回车这个字母
    }
    return 0;
}

2.3使用函数的版本

#include <ctype.h>
#include <stdio.h>
int main() {
    char ch = 0;
    //scanf读取成功的时候,返回的是读取的数据的个数
    while (scanf("%c", &ch) == 1)//scanf函数在读取失败的时候返回EOF
    {                //所以这里也可以改写为scanf("%c",&ch)!=EOF
        if (islower(ch))
            printf("%c\n", toupper(ch));
        else if (isupper(ch))
            printf("%c\n", tolower(ch));
    }
    return 0;
}

3.以下是三种方式的全部代码

#include <stdio.h>
int main() {
    char ch=0;
    while(scanf("%c",&ch)==1)
    {
        if(ch>='a' && ch<='z')
      //这里的ch存储的是ASCII码值,
      //当ch的ASCII码值大于等于a的ASCII码值或者小于等于z的ASCII码值时,
      //才能运行下去
            printf("%c\n",ch-32);
      //根据ASCII码值表,a的ASCII码值比A的ASCII码值多32
      // 所以要是将小写的a转为大写的A,这里需要-32才行
        else if(ch>='A' && ch<='Z')//这里不能直接用else来表示,因为输入字母时还会输入一个回车,而回车也是字母,在内存中占据ASCII码值,需要用getchar()掉该字母,下面一个主函数会演示。
      //这里的ch存储的是ASCII码值,
      //当ch的ASCII码值大于等于A的ASCII码值或者小于等于Z的ASCII码值时,
      //才能运行下去
            printf("%c\n",ch+32);
      //根据ASCII码值表,A的ASCII码值比a的ASCII码值少32
      // 所以要是将转为大写的A,这里需要+32才行
      // 所以要是将大写的A转为小写的a,这里需要+32才行
    }
    return 0;
}
#include <stdio.h>
int main() 
{
    char ch = 0;
    while (scanf("%c", &ch) == 1)
    {
        if (ch >= 'a' && ch <= 'z')
            printf("%c\n", ch - 32);
        else
            printf("%c\n", ch + 32);
        getchar();//用于吸收回车这个字母
    }
    return 0;
}
#include <stdio.h>
#include <ctype.h>//使用islower,isupper,toupper,tolower函数需要引用的头文件
int main() {
    char ch = 0;
    //scanf读取成功的时候,返回的是读取的数据的个数
    while (scanf("%c", &ch) == 1)//scanf函数在读取失败的时候返回EOF
    {                //所以这里也可以改写为scanf("%c",&ch)!=EOF
        if (islower(ch))
            printf("%c\n", toupper(ch));
        else if (isupper(ch))
            printf("%c\n", tolower(ch));
    }
    return 0;
}

4.结语

今天的经验分享就到这里,有喜欢的朋友可以点赞➕评论➕收藏➕关注,如果有不懂的地方可以咨询博主,谢谢大家支持博主!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/495064.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue过渡动画,组件动画,元素动画(vue2元素、组件过渡动画)

​简介&#xff1a;Vue的过渡动画允许你定义一个进入和离开的过渡&#xff0c;然后在元素的状态改变时自动应用这些过渡&#xff0c;提升用户体验。它通过 <transition> 标签 这个内置组件&#xff0c;在元素或组件的插入、更新和移除时应用过渡效果&#xff08;也就是动…

什么是 MySQL 回表?

什么是 MySQL 回表&#xff1f; 题目 什么是 MySQL 回表&#xff1f; 推荐解析 回表简介 1&#xff09;索引结构&#xff1a;MySQL 使用 B 树索引结构来加速数据的查找。B 树是一种多叉树&#xff0c;它的叶子节点中存储了完整的数据行&#xff0c;而非叶子节点存储了索引…

第十篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读Python自动化操作Excel

传奇开心果博文系列 系列博文目录Python自动化办公库技术点案例示例系列博文目录 前言一、重要作用解说二、Python操作Excel的常用库介绍三、数据处理和分析示例代码四、自动化报表生成示例代码五、数据导入和导出示例代码六、数据可视化示例代码八、数据校验和清洗示例代码九、…

【海贼王之强者之路】经典动漫影视改编火爆剧情回合卡牌手游-Win服务端源码视频架设教程-开放多区-GM后台-安卓苹果IOS双端版本!

【海贼王之强者之路】站长推荐经典动漫影视改编火爆剧情回合卡牌手游-2024年3月27日最新打包Win服务端源码视频架设教程-开放多区-GM后台-安卓苹果IOS双端版本&#xff01;

Dynamo一键清理Revit中未放置的房间和多余的房间

今天我们来解决一个Revit中比较常见的小问题&#xff0c;就是清理未放置的房间和多余的房间。 首先&#xff0c;我们可以先做个测试样例&#xff0c;看看问题在哪里&#xff0c;如下图&#xff0c;我简单画了个模型&#xff0c;生成一个房间明细表&#xff0c;如下图&#x…

【javaWeb 第三篇】Vue快速入门

VUE vue是一套前端框架&#xff0c;免除原生的js的DOM操作&#xff0c;简化书写 基于MVVM&#xff08;model-view-viewmodel&#xff09;思想&#xff0c;实现数据的双向绑定&#xff0c;将编程的关注放在数据上。 什么是框架&#xff1a; 框架相当于一个半成品&#xff0c;是一…

【Java程序设计】【C00391】基于(JavaWeb)Springboot的校园疫情防控信息管理系统(有论文)

基于&#xff08;JavaWeb&#xff09;Springboot的校园疫情防控信息管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff…

【SpringCloud微服务实战10】DevOps自动化部署微服务项目(Jenkins+Docker+K8s)

一、什么是 DevOps DevOps 是一种重视软件开发人员&#xff08;Developer&#xff09;和运维人员&#xff08;Operations&#xff09;之间沟通与协作的文化、运动或实践&#xff0c;目标在于快速交付高质量的软件产品和服务。DevOps 强调自动化流程、持续集成与交付&#xff08…

C语言二叉树和堆(个人笔记)

二叉树和堆 二叉树1二叉树的概念和结构1.1特殊的二叉树1.2二叉树的性质&#xff08;规定根节点的层数为1&#xff09;1.3二叉树的存储结构 2.二叉树的顺序结构和实现2.1二叉树的顺序结构2.2堆的概念和结构2.3堆的实现2.4堆的应用2.4.1堆排序 2.5TOP-K问题 3.二叉树的遍历4.二叉…

管理阿里云服务器ECS -- 网站选型和搭建

小云&#xff1a;我已经学会了如何登录云服务器ECS了&#xff0c;但是要如何搭建网站呢&#xff1f; 老王&#xff1a;目前有很多的个人网站系统软件&#xff0c;其中 WordPress 是使用非常广泛的一款&#xff0c;而且也可以把 WordPress 当作一个内容管理系统&#xff08;CMS…

Qt中QIcon图标设置(标题、菜单栏、工具栏、状态栏图标)

1 exe程序图标概述 在 Windows 操作系统中&#xff0c;程序图标一般会涉及三个地方&#xff1b; &#xff08;1&#xff09; 可执行程序&#xff08;以及对应的快捷方式&#xff09;的图标 &#xff08;2&#xff09; 程序界面标题栏图标 &#xff08;3&#xff09;程序在任务…

C语言什么是形参和实参?如何使⽤?

一、问题 在调⽤函数的时候&#xff0c;调⽤函数和被调⽤函数之间基本都会发⽣数据传递关系&#xff0c;这就要⽤到有参函数&#xff0c;⽽不传递数据的就需要⽆参函数。这样必然涉及形参和实参的概念&#xff0c;那么究竟什么是形参&#xff1f;什么又是实参呢&#xff1f;如何…

编译与链接

环境&#xff1a; 在ASCI C的任何一种实现中&#xff0c;存在两种不同的环境&#xff1a; 1.翻译环境&#xff0c;在这个环境中&#xff0c;源代码被转换为可执行的机器指令&#xff08;二进制指令&#xff09; 2.运行环境&#xff0c;用于实际执行代码。 流程:c文件->翻译…

(4)(4.3) Kogger Sonar

文章目录 前言 1 推荐硬件 2 配置回声探测仪模块 3 连接ArduPilot硬件 4 参数说明 前言 KOGGER 声纳(KOGGER Sonar)是一款结构紧凑、成本低廉的水下回声测深仪模块&#xff0c;带有 UART 接口&#xff0c;电源电压为 5-14v。 1 推荐硬件 CP210x USB->UART 转换器和安装…

脚本应使用项目的主要语言编写

原文&#xff1a;Joo Freitas - 2024.03.24 这是我长时间以来的一个深感赞同的观点。 我参与过的几乎所有项目&#xff0c;都有我们编写的用于自动化重复性过程的脚本。然而&#xff0c;大多数脚本在几周后变得过时且难以维护&#xff0c;因为我们要么不再需要它们&#xff0…

Towhee 小记

文章目录 关于 Towhee✨ 项目特点&#x1f393; 快速入门流水线预定义流水线自定义流水线 &#x1f680; 核心概念 关于 Towhee Towhee 是一个开源的 embedding 框架&#xff0c;包含丰富的数据处理算法与神经网络模型。通过 Towhee&#xff0c;能够轻松地处理非结构化数据&am…

31---JTAG电路设计

视频链接 JTAG电路设计&#xff08;JLINK&XILINX&ALTERA&#xff09;_哔哩哔哩_bilibili JTAG电路设计 1、JTAG简介 JTAG&#xff08;Joint Test Action Group&#xff09;&#xff1a;联合测试工作组&#xff0c;是在名为标准测试访问端口和边界扫描结构的IEEE的标…

Python学习之-正则表达式

目录 前言&#xff1a;1.re.serach1.1例子&#xff1a; 2.re.match2.1示例1&#xff1a;2.2 示例2&#xff1a; 3.re.findall3.1 示例 4.re.fullmatch4.1 示例1&#xff1a;4.2 示例2: 5.re.split5.1 示例1:5.2 示例2&#xff1a;5.3 示例3&#xff1a; 6.re.sub6.1 示例&#…

2024年阿里云服务器价格30元、61元、99元、165元、199元报价

2024年阿里云服务器优惠价格表&#xff0c;一张表整理阿里云服务器最新报价&#xff0c;阿里云服务器网aliyunfuwuqi.com整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单&#xff0c;大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新…

【详细讲解React 快速入门教程】

&#x1f525;博主&#xff1a;程序员不想YY啊&#x1f525; &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f4ab; &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 &#x1f308;希望本文对您有所裨益&#xff0c;如有…