c++ - 非常基本的问题 c++) 为什么我的打印答案与我希望得到的不同?
问题描述
这是我的简单源代码:
char a, b;
cin >> a >> b;
if (a >= 'A' && a <= 'Z')
{
a = a + 'a' - 'A';
cout << a;
}
if (a >= 'a' && a <= 'z')
{
a = a + 'A' - 'a';
cout << a;
}
if (b >= 'A' && b <= 'Z')
{
b = b + 'a' - 'A';
cout << b;
}
if (b >= 'a' && b <= 'z')
{
b = b + 'A' - 'a';
cout << b;
}
return 0;
}
我想将小写字母变为大写字母,反之亦然。小写字母可以找到,但不知何故大写字母却找不到。
解决方案
if
例如,您的第二个语句具有反转第一个if
语句的效果。
写作
if (a >= 'A' && a <= 'Z')
{
a = a + 'a' - 'A';
cout << a;
}
else if (a >= 'a' && a <= 'z')
等等,是修复。(注意else
。)将相同的方案应用于b
.
完成此操作后,请使用 C++ 标准库函数std::islower
、std::tolower
、std::iuspper
和std::toupper
。您提供的代码不是严格可移植的,因为标准不保证字母字符是有序的。
推荐阅读
- c# - 从后面的代码在 Chrome 中打开一个新窗口
- kubernetes - K8s 部署失败但端点工作
- kubernetes - 使用 Kubernetes Executor 运行时,使用 Kubernetes Pod Operator 的作业失败
- azure-sdk-.net - 是否可以使用已注册的合作伙伴中心 Web 应用程序在现有 Azure 计划下以编程方式创建 Azure 订阅?
- delphi - 如何将整数整数转换为 3 位点分隔字符串
- python - 将二维数组转换为数组 Python
- google-apps-script - 试图在谷歌表格中构建一个用于发送电子邮件的功能
- c# - 在解决重载时,C# 在推断的 Action 内抛出使其成为 Func
- c# - Web API REST Client - 在网站中(自动)验证 API 的最佳方式是什么
- javascript - 在 React Native 中将其转换为 JSON 后如何读取 RSS 提要?