描述 将字母的大小写转换一下,非字母字符原样输出。 格式 输入格式 输出格式 样例1 样例输入1 I like ACM/ICPC. Hello World! +-*/ are operators. 样例输出1 i LIKE acm/icpc. hELLO wORLD! +-*/ ARE OPERATORS.
时间: 2023-05-27 09:01:48 浏览: 375
算法1:
遍历字符串中的每个字符,如果该字符为字母,就将其转换为相反的大小写形式。
C++ 代码
算法2:
使用标准库函数isalpha判断字符是否为字母,若是,则使用标准库函数tolower或toupper转换其大小写形式。
C++ 代码
相关问题
描述 小C很喜欢倒着写单词,现在给你一行小C写的文本,你能把每个单词都反转并输出它们吗? 输入描述 输入包含多组测试样例。第一行为一个整数T,代表测试样例的数量,后面跟着T个测试样例。 每个测试样例占一行,包含多个单词。一行最多有1000个字符。 输出描述 对于每一个测试样例,你应该输出转换后的文本。 用例输入 1 3 olleh !dlrow I ekil .bulcmca I evol .mca 用例输出 1 hello world! I like acmclub. I love acm.C++实现
以下是用C++实现的代码:
```cpp
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int T;
cin >> T;
cin.ignore(); // 忽略换行符
while (T--) {
string line;
getline(cin, line);
stringstream ss(line);
vector<string> words;
string word;
while (ss >> word) {
reverse(word.begin(), word.end());
words.push_back(word);
}
// 输出反转后的单词
for (int i = 0; i < words.size(); i++) {
cout << words[i];
if (i != words.size() - 1) {
cout << " ";
}
}
cout << endl;
}
return 0;
}
```
首先读入测试样例的数量T,然后循环T次。对于每个测试样例,先读入一行字符串,然后用stringstream分割成单词。对于每个单词,用reverse函数反转它,并存入一个vector中。最后输出vector中的单词,注意单词之间需要加上空格。
阅读全文