C++ | 大小写字母转换

article/2025/10/15 9:10:21

1.题目描述

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

输入描述:

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

输出描述:

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

在这里插入图片描述

  • 答案如下:
#include<iostream>
using namespace std;int main(){
//---------------------------------------
//第一种方法:使用ascii码,大小写差值求解/*char ch;while(scanf("%c",&ch)==1){getchar();printf("%c\n",ch+32);}
//---------------------------------------
//第二种方法:char ch;while(scanf("%c\n",&ch)!=EOF){printf("%c\n",ch+32);}*/
//---------------------------------------
//第三种方法:getchar(),如果拿到的是回车,就进入下一次循环,如果是结尾,就推出循环,否则一直转换为小写char ch;while(1){ch=getchar();if(ch=='\n')continue;else if(ch==EOF)break;else printf("%C\n",ch+32);}return 0;
}

2.题目描述

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

输入描述:

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

输出描述:

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

#include<iostream>
using namespace std;int main(){//--------------------------------------------------------//----------------法1-------------------------------------//---------------------------------------------------------char a;while(1){a=getchar();if(a=='\n')continue;else if(a==EOF)break;else if(a>='A'&&a<='Z')printf("%C\n",a+32);else if(a>='a'&&a<='z')printf("%C\n",a-32);}//----------------------------------------------------------------------//---------------------法2---------------------------------------------//----------------------------------------------------------------------char a;while(scanf("%c",&a)!=EOF){if(a=='\n')continue;else if(a>='A'&&a<='Z')printf("%c\n",a+32);else if(a>='a'&&a<='z')printf("%c\n",a-32);elseprintf("%c\n",a);}//----------------------------------------------------------------------//---------------------法3---------------------------------------------//----------------------------------------------------------------------char a;while(scanf("%c",&a)!=EOF){if(a=='\n')continue;else if(a>='A'&&a<='Z')printf("%c\n", tolower(a));else if(a>='a'&&a<='z')printf("%c\n",toupper(a));elseprintf("%c\n",a);}return 0;
}

大小写字母转换总结:

1. 用大小写字母的ASSIC码的差值32来求解

ASCII码表格:

ASCII控制字符ASCII字符ASCII字符ASCII字符
0NUT32(space)64@96
1SOH33!65A97a
2STX34"66B98b
3ETX35#67C99c
4EOT36$68D100d
5ENQ37%69E101e
6ACK38&70F102f
7BEL39,71G103g
8BS40(72H104h
9HT41)73I105i
10LF42*74J106j
11VT43+75K107k
12FF44,76L108l
13CR45-77M109m
14SO46.78N110n
15SI47/79O111o
16DLE48080P112p
17DCI49181Q113q
18DC250282R114r
19DC351383S115s
20DC452484T116t
21NAK53585U117u
22SYN54686V118v
23TB55787W119w
24CAN56888X120x
25EM57989Y121y
26SUB58:90Z122z
27ESC59;91[123{
28FS60<92/124|
29GS61=93]125}
30RS62>94^126`
31US63?95_127DEL

ASCII 码大致由以下两部分组成:

  • ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。
  • ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。
#include <iostream>using namespace std;int main()
{char a[20];cout<<"请输入一串字符:\n";cin>>a;for(int i = 0;a[i];i++){if(a[i] >= 'a'&&a[i] <= 'z')a[i] -= 32;else if(a[i] >= 'A'&&a[i] <= 'Z')a[i] += 32;}for(int i = 0;a[i];i++)cout<<a[i];cout<<endl;system("pause");return 0;
}

2. 大小写字母转换函数

简单

#include <iostream>using namespace std;int main()
{cout<<(char)toupper(97)<<'\n';cout<<(char)toupper('a')<<'\n';cout<<(char)tolower(66)<<'\n';cout<<(char)tolower('B')<<'\n';return 0;
}

看看

  • 头文件:#include <string.h>
  • strlwr()用于将字符串中的字符转换为小写,其原型为:char *strlwr(char *str);
  • 注意:strlwr()和strupr()不是标准库函数,只能在windows下(VC、MinGW等)使用,Linux GCC中需要自己定义。
#include<iostream>
#include<string.h>using namespace std;int main(int argc, char* argv[])
{//声明字符数组char str[80],*p;int i;//转换字符串中的小写为大写cout<<"将字符串中的小写字母转换为大写"<<endl;cout<<"请输入原字符串:"<<endl;cin>>str;p=strupr(str);cout<<"p:"<<p<<endl;cout<<"string:"<<str<<endl;cout<<"___________________"<<endl;//转换字符串中的大写为小写cout<<"将字符串中的大写字母转换为小写"<<endl;cout<<"请输入原字符串:"<<endl;cin>>str;p=strlwr(str);cout<<"p:"<<p<<endl;cout<<"string:"<<str<<endl;cout<<"___________________"<<endl;system("pause");return 0;
}

后记

参考文章


http://chatgpt.dhexx.cn/article/Ft4HRNPi.shtml

相关文章

Java-大小写字母转换

题目&#xff1a;输入一段字符&#xff0c;包含大写字母或者小写字母&#xff0c;输出对应的大写或者小写转换&#xff0c;数字不管 代码实现&#xff1a; import java.util.Scanner;public class ZimuChange {public static void main(String[] args) {System.out.println(&qu…

线程中CreateEvent、SetEvent、WaitForSingleObject的用法

原文地址&#xff1a;https://www.cnblogs.com/MrYuan/p/5238749.html 首先介绍CreateEvent是创建windows事件的意思&#xff0c;作用主要用在判断线程退出&#xff0c;线程锁定方面. CreateEvent 函功能描述&#xff1a;创建或打开一个命名的或无名的事件对象. EVENT有两种…

CreateEvent SetEvent WaitForSingleObjec

在自动重置事件对象中&#xff0c;当WaitSingleObject/WaitForMultipleObjects接收到SetEvent发送过来的信号后则返回WAIT_OBJECT_0&#xff0c;此时操作系统&#xff08;待定&#xff09;自动重置等待的事件对象&#xff08;即自动将其设置为无信号状态。无论何时通过SetEvent…

线程中CreateEvent和SetEvent及WaitForSingleObject的用法

首先介绍CreateEvent是创建windows事件的意思&#xff0c;作用主要用在判断线程退出&#xff0c;线程锁定方面. CreateEvent 函功能描述&#xff1a;创建或打开一个命名的或无名的事件对象. EVENT有两种状态&#xff1a;发信号&#xff0c;不发信号。 SetEvent/ResetEvent…

wireshark找不到接口?你的NPF没启动

使用wireshark时会遇到找不到接口的问题&#xff0c;这是因为电脑的NPF没有启动。以管理员身份运行cmd,输入net start npf即可。不过&#xff0c;电脑重启后&#xff0c;它又关闭了。

wireshark抓包报错The capture session could not be initiated on interface '\Device\NPF_Loopback'

wireshark抓包报错 The capture session could not be initiated on interface ‘\Device\NPF_Loopback’ (Error opening adapter: The system cannot find the path specified. (3)). 解决方法 以管理员身份运行cmd&#xff0c;输入net start npcap 重新打开wireshark即可…

The NPF or NPCAP service is not installed, please install Winpcap or Npcap aand reboot的解决方法

安装好GNS启动后&#xff0c;我遇到了GNS3没有加载的错误&#xff0c;并且发出错误声明“未安装NPF或NPCAP服务&#xff0c;请安装Winpcap或Npcap并重启。” 确认已经安装了winpcap&#xff0c;怎么还会报错呢&#xff1f;&#xff1f;后来发现是没有勾选自启动winpcap软件导致…

wireshark提示未启动npf服务The NPF driver isn’t running You may have trouble capturing or listing interfaces

提示未启动npf服务的解决办法 检查你的电脑有没有安装WinPcap&#xff0c;如果没有安装就安装一下以管理员身份运行cmd.exe&#xff0c;执行命令&#xff1a;sc config npf start auto&#xff0c;重启wireshark如果还提示未启动npf服务就执行这个命令&#xff1a;net start n…

解决启动Wireshark时遇到的“The NPF driver isn't running...”

最近在使用wireshark抓包软件的时候遇到了这个问题&#xff0c;在启动wireshark的时候&#xff0c;会弹出一个对话框&#xff1a; 上网搜索了一下&#xff0c;结合自己的想法&#xff0c;得到如下两个解决方法&#xff1a; 一、图形界面操作 1、右击计算机&#xff0c;“管理”…

wireshark/The NPF driver isn’t running./Unable to load WinPcap (wpcap.dll)

很久没使用wireshark后重新打开就出现警告&#xff1a; The NPF driver isn’t running. You may have trouble capturing or listing interfaces. 点击菜单栏caption&#xff0c;准备启动的时候&#xff0c;又显示警告框&#xff0c;直接不给操作&#xff1a; Unable to load …

使用Wireshark抓包软件提示The NPF driver isn’t running解决办法

Wireshark一个强大的数据抓包分析工具&#xff0c;在Win7 64位系统上第一次使用时&#xff0c;可能会出现意外的情况。 The NPF driver isn’t running. 这个情况可能是因为没有安装Winpcap驱动或者安装Winpcap时没有选中开机自动启动winpcap选项。 解决方法&#xff1a; 1. 没…

【西门子】S7-PLCSIM Advance_V2/V3, Error Code: -30,LicenseNotFound /NetGroup Packet Filter Driver (NPF)

最近公司需要测试视觉程序与西门子S7-1500通讯&#xff0c;下载了下西门子的编程程序进行通讯测试&#xff0c;本来想着安装个程序很简单的事&#xff0c;谁知道在使用S7-PLCSIM Advance_V3仿真通讯时遇到各种问题&#xff0c;鉴于自己踩坑太多&#xff0c;特此分享自己的完美解…

wireshark找不到捕获接口问题和net start npf 服务器名无效、拒绝访问的解决办法

win10系统 解决方法&#xff1a; 1、去官网下载用于网络封包抓取的工具 winpcap 链接&#xff1a;https://www.winpcap.org/install/bin/WinPcap_4_1_3.exe 2、用管理员身份运行命令提示符 3、输入net start npf 启动服务 可以看到有捕获接口了

Wireshark学习篇(1)---NPF driver is not running error

在互联网这个行业里&#xff0c;怎能不熟悉几款抓包工具呢。将Wireshark作为首选学习工具&#xff0c;此工具功能比较强大&#xff0c;是基于网卡级别进行的抓包。在电脑上安装了 Wireshark后&#xff0c;首次登录的时候&#xff0c;会有"NPF driver is not running"…

[安装wireshark时,报“Error opening file for writing npf.sys”]

问题来源&#xff1a; 最近拷贝了别人一个win10的虚拟机&#xff0c;用wireshark抓帧时&#xff0c;一直找不到wifi的网卡&#xff0c;导致抓不了帧。 查找问题&#xff1a; 在win10下输入命令&#xff1a; C:\Program Files\Wireshark>tshark -DThe NPF driver isnt run…

解决打开S7-PLCSIM Advanced V3.0报错NetGroup Packet Filter Driver (NPF)

在安装S7-PLCSIM Advanced V3.打开仿真的时候网卡报错。以管理员模式打开cmd&#xff0c;输入net start npf开启npf的时候显示服务名无效&#xff0c;原因是没有安装winpcap&#xff0c;在安装winpcap后再以管理员模式运行cmd&#xff0c;输入net start npf后成功打开npf。本文…

win7环境下 net start npf服务名无效的解决方法。

一、这个问题的起因是wireshark找不到本地接口引起的&#xff0c;在网上找到的解决方法是&#xff1a;把 新版的winpcap删除再重装个老版的。(再次证明软件还是用老的好&#xff0c;新的有BUG)。 操作方法如下&#xff1a;找到对应的文件&#xff0c;并把扩展名修改即可。 C:\…

net start npf启用失败问题解决 net start npf 发生系统错误5、net start npf 服务名无效

问题1&#xff1a;net start npf 服务名无效 Wireshark找不到网卡 输入net start npf 服务名无效 解决办法1&#xff1a;下载winpcap 地址&#xff1a;https://www.winpcap.org/install/bin/WinPcap_4_1_3.exe 安装完winpcap&#xff0c;在cmd&#xff08;要以管理员模式运行…

[转]NPF驱动核心指南(含与NDIS区别)

这是WinPcap的NPF驱动核心指南原文的翻译&#xff0c;英语水平有限&#xff0c;翻译得可能不是很准确。 这个章节说明网络组包过滤&#xff08;NPF&#xff09;组件&#xff0d;WinPcap的核心部分。一般用户可能只对WinPcap的使用感兴趣&#xff0c;但不一定想了解它的组件结构…

贝叶斯文本分类

朴素贝叶斯分类 贝叶斯分类 贝叶斯分类是一类分类算法的总称&#xff0c;这类算法均以贝叶斯定理为基础&#xff0c;故统称为贝叶斯分类而朴素朴素贝叶斯分类是贝叶斯分类中最简单&#xff0c;也是常见的一种分类方法分类问题综述 对于分类问题&#xff0c;其实谁都不会陌生&am…