4 条题解
-
1
这里给大家推荐两个超实用的函数:
toupper()
函数原型:
int toupper(int c) { if ((c >= 'a') && (c <= 'z')) return c + ('A' - 'a'); return c; }
tolower()
函数原型:
int tolower(int c) { if ((c >= 'A') && (c <= 'Z')) return c + ('a' - 'A'); return c; }
以上是两个转换大小写函数,分别为转换大写和转换小写,所以这道题就很简单了
(注意,上面两个函数的返回值为int类型,题目要求输出字符,所以还得强制转换成char)
ACcode:
#include <iostream> #include <cstdio> using namespace std; int main() { char c; cin >> c; char newc; if (c >= 'A' && c <= 'Z') newc = tolower(c); else newc = toupper(c); cout << newc; return 0; }
且慢!还有一种方法!
我们可以利用ASCII码来做
ASCII表上a为97,A为65,97-65 = 32正是ASCII码里大小写的差
小写转大写只需-32,大写转小写只需+32
这就是第二种方法:
#include <iostream> #include <cstdio> using namespace std; int main() { char c; cin >> c; char newc; if (c >= 'A' && c <= 'Z') newc = c + 32; else newc = c - 32; cout << newc; return 0; }
- 1
信息
- ID
- 968
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 2
- 标签
- 递交数
- 129
- 已通过
- 75
- 上传者