28 条题解
-
11
今天这道题需要用到新的数据类型:srting 或者 char!同样今天也有两种方法哦~
方法①
- 可以知道,其中没有空字符(空格),可以直接用 cin 语句来输入
- 遍历这个 char 型字符串,然后判断 if - else if
- (1)大于‘a’并且小于‘z’那么减去32(小写)
- (2)大于‘A’并且小于‘Z’那么加上32(大写)
- (3)其他的省略判断和代码
- a 的长度可以用 strlen(a) 来写出
- 最后再遍历变量 a 并且输出即可~
#include <bits/stdc++.h> using namespace std; int main() { char a[81]; cin.getline(a, 81, '\n'); for (int i = 0; i < strlen(a); i++) { if ((a[i] >= 'a') && (a[i] <= 'z')) a[i] = a[i] - 32; else if ((a[i] >= 'A') && (a[i] <= 'Z')) a[i] = a[i] + 32; } for (int i = 0; i < strlen(a); i++) cout << a[i]; return 0; }
方法②
- 用 string 型变量 a 来存储
- 用 getline(cin, a) 来输入变量
- 遍历方法同 方法①
- 此处拓展 ASCII码 的知识,a 为97,z 为122,A 为65,Z 为90,空格 为32
- string型变量长度可以用 a.size() 来判断
#include <bits/stdc++.h> using namespace std; int main() { string a; getline(cin, a); for (int i = 0; i < a.size(); i++) { if ((a[i] >= 'a') && (a[i] <= 'z')) a[i] = a[i] - 32; else if ((a[i] >= 'A') && (a[i] <= 'Z')) a[i] = a[i] + 32; } for (int i = 0; i < a.size(); i++) cout << a[i]; return 0; }
-
6
终于学完L4辣! 这道题的变量不能是int,应该是string。 我的变量用a来代替; for (int i = 0; i < a.length(); i++) { if ((a[i] >= 'a') && (a[i] <= 'z')) { a[i] = a[i] - 32;//小写字母 } else if ((a[i] >= 'A') && (a[i] <= 'Z'))//大写字母 { a[i] = a[i] + 32; } } ASCII表的话大小写之间差32 然后就是注意a[i] = a[i] - 32不能写成 a[i] -= 32因为这样a[i]就是一个数字了 (别问我是怎么知道的) 八月的第一个题解!!!
-
2
用头文件还是挺好的,但不排除L4里学的办法
#include <iostream> #include <string> #include <cctype> std::string toggleCase(const std::string& input) { std::string result; for (char c : input) { if (std::isupper(c)) { result += std::tolower(c); } else if (std::islower(c)) { result += std::toupper(c); } else { result += c; // 其他字符保持不变 } } return result; } int main() { std::string str; std::cin>>str; std::string toggled = toggleCase(str); std::cout << toggled << std::endl; return 0; }
-
2
#include <bits/stdc++.h> using namespace std; int main() { string a; cin >> a; for (int i = 0; i < a.length(); i++){ if (a[i] >= 'A' && a[i] <= 'Z'){ a[i] += 32; cout << a[i]; continue; } if (a[i] >= 'a' && a[i] <= 'z'){ a[i] -= 32; cout << a[i]; continue; } cout << a[i]; } return 0; }
-
1
L2新手预习完来练手啦🎉️😄
#include <bits/stdc++.h> using namespace std; int main() { string a;//建立字符串变量 cin >> a; for (int i = 0; i < a.length(); i++)//遍历字符串 { if (('A' <= a[i]) && ('Z' >= a[i])) a[i] = a[i] + 32;//判断是否是大写字母,是的话转小写 else if (('a' <= a[i]) && ('z' >= a[i])) a[i] = a[i] - 32;//判断是否是小写字母,是的话转大写 cout << a[i];//输出 } return 0; }
AC,但是为啥输出区会有火星文? 在线等,不太急👀️
信息
- ID
- 182
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 5
- 标签
- 递交数
- 3726
- 已通过
- 1353
- 上传者