C语言实现:Given a string S, convert all lowercase letters to uppercase letters, and uppercase letters to lowercase letters in it.
时间: 2023-11-22 18:55:39 浏览: 87
可以使用C语言中的字符处理函数来实现该功能。具体实现如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i = 0;
printf("Enter a string: ");
fgets(str, 100, stdin); // 读取输入的字符串
while (str[i]) {
if (islower(str[i])) {
str[i] = toupper(str[i]); // 如果是小写字母,转换成大写字母
} else if (isupper(str[i])) {
str[i] = tolower(str[i]); // 如果是大写字母,转换成小写字母
}
i++;
}
printf("Converted string: %s", str);
return 0;
}
```
在该程序中,我们首先使用 `fgets()` 函数读取用户输入的字符串,并将其存储在 `str` 数组中。然后,我们遍历字符串中的每个字符,如果是小写字母,就使用 `toupper()` 函数将其转换为大写字母;如果是大写字母,就使用 `tolower()` 函数将其转换为小写字母。最后,我们输出转换后的字符串。
相关问题
Given a string S, convert all lowercase letters to uppercase letters, and uppercase letters to lowercase letters in it.
这道题可以用 Python 来实现,具体代码如下:
```python
def swap_case(s):
return s.swapcase()
string = "Hello World"
print(swap_case(string)) # 输出 hELLO wORLD
```
其中,`swapcase()` 方法可以实现大小写字母的互换。在这个例子中,我们定义了一个名为 `swap_case()` 的函数,它接受一个字符串作为参数,并返回大小写字母互换后的字符串。最后,我们定义了一个字符串 `string`,并在控制台打印出调用 `swap_case()` 函数后得到的结果。
def kaisa(s, k): lower = string.ascii_lowercase #小写字母 upper = string.ascii_uppercase #大写字母 before = string.ascii_letters after = lower[k:] + lower[:k] + upper[k:] + upper[:k] #P210 table = ''.maketrans(before, after) #创建映射表 return s.translate(table)解释他的原理
这段代码实现了凯撒加密,将每个字母替换为后面第k个字母。下面是代码的解释:
1. `lower = string.ascii_lowercase` 和 `upper = string.ascii_uppercase` 分别定义了小写字母和大写字母。
2. `before = string.ascii_letters` 定义了所有字母。
3. `after = lower[k:] + lower[:k] + upper[k:] + upper[:k]` 定义了替换后的字母表,将小写字母和大写字母分别取出后,分别往后移k位,再将它们连接起来。
4. `table = ''.maketrans(before, after)` 创建了一个映射表,将before中的字符映射为after中的字符,即将所有字母按照替换后的字母表进行映射。
5. `return s.translate(table)` 使用映射表将原始字符串s中的字符进行替换,返回加密后的字符串。
例如,当k=3时,after的值为:
```
defghijklmnopqrstuvwxyzabcDEFGHIJKLMNOPQRSTUVWXYZABC
```
那么映射表的作用就是将before中的"a"映射为"def",将"b"映射为"efg",以此类推,最终完成凯撒加密的过程。
阅读全文