编写程序,将一个字符串反向存放(编写函数实现)
时间: 2024-05-08 14:17:20 浏览: 149
以下是Python的代码示例:
```python
def reverse_string(s):
return s[::-1]
# 测试
s = "Hello, World!"
reverse_s = reverse_string(s)
print(reverse_s) # 输出: !dlroW ,olleH
```
解释:
`[::-1]` 是Python中的切片语法,表示从后往前每隔一个字符取一个字符,相当于字符串反向。
函数 `reverse_string(s)` 接收一个字符串 `s`,利用切片语法将其反向,返回反向后的字符串。在测试中,我们将字符串 `"Hello, World!"` 传递给 `reverse_string()` 函数,得到的反向字符串为 `"!dlroW ,olleH"`,并将其打印出来。
相关问题
编写程序,将一个字符串反向存放(用C语言编写函数实现)
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int length = strlen(str);
for (int i = 0; i < length / 2; i++) {
char temp = str[i];
str[i] = str[length - i - 1];
str[length - i - 1] = temp;
}
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
这个程序使用了一个 `reverse` 函数,它接收一个指向字符串的指针,并将字符串反向存放。这个函数使用了一个简单的循环,交换字符串的前半部分和后半部分的字符,直到字符串中间为止。注意,我们需要使用 `strlen` 函数来计算字符串的长度。在 `main` 函数中,我们首先读入一个字符串,然后调用 `reverse` 函数来反向存放它。最后,我们输出反向存放后的字符串。
用C语言处理字符串 编写程序以字符串为单位,以空格或标点符号(字符串中仅含,或作为标点符号)作为分隔符,对字符串中所有单词进行倒排,之后把已处理的字符串(应不含标点符号)打印出来。
在C语言中,处理字符串并实现倒序操作可以使用以下步骤:
1. 分割字符串成单词数组:我们使用`strtok()`函数将字符串按指定的分隔符分割。
2. 倒序数组:创建一个新的数组来存放倒序后的单词,并使用循环反向填充。
3. 拼接倒序后的字符串:最后将处理过的单词连接成新的字符串。
下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
void reverse_words(char *input_str, char delimiter, char *output) {
// 分割输入字符串到单词数组
char *word = strtok(input_str, delimiter);
int word_count = 0;
// 计算单词数量
while (word != NULL) {
word_count++;
word = strtok(NULL, delimiter);
}
// 创建新数组存储倒序后的单词
char *reversed_words = (char *)malloc(sizeof(char) * (word_count + 1)); // 加1防止越界
reversed_words[word_count] = '\0';
// 倒序填充单词
for (int i = word_count - 1; i >= 0; i--) {
strcat(reversed_words, word);
reversed_words[i + 1] = delimiter;
}
// 删除最后一个多余的分隔符
reversed_words[strlen(reversed_words) - 1] = '\0';
// 输出处理后的字符串
printf("%s\n", output); // 可以在这里修改为直接赋值给实际的输出指针
free(reversed_words); // 释放内存
}
int main() {
char input[] = "Hello, world! This is a test.";
char output[100]; // 假设输出的最大长度为99
reverse_words(input, " ", output); // 使用空格作为分隔符
return 0;
}
```
阅读全文