写一个C语言程序,输入一个字符串,输出反序后的字符串
时间: 2024-02-15 19:03:51 浏览: 128
好的,以下是一个简单的C语言程序,实现了输入一个字符串并输出反序后的字符串:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
str[strcspn(str, "\n")] = '\0'; // 去除输入字符串中的换行符
int len = strlen(str);
for (int i = len - 1; i >= 0; i--) {
printf("%c", str[i]);
}
printf("\n");
return 0;
}
```
这个程序中,我们首先定义了一个字符串变量 `str`,用来存储输入的字符串。然后使用 `fgets` 函数从标准输入中读取用户输入的字符串,最后通过循环逆序输出字符串中的每一个字符。
需要注意的是,由于 `fgets` 函数会在输入字符串的末尾添加一个换行符,因此我们需要使用 `strcspn` 函数找到该换行符的位置,并将其替换成字符串的结束符号 `\0`,以避免输出时出现多余的空行。
相关问题
用C语言输入一个字符串输出反序后的字符串
在C语言中,你可以通过动态内存分配和字符数组操作来实现字符串反转。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
// 功能:反转字符串
void reverse_string(char* str) {
int length = strlen(str);
char temp;
for (int i = 0; i < length / 2; i++) {
temp = str[i];
str[i] = str[length - i - 1]; // 交换字符位置
str[length - i - 1] = temp;
}
}
int main() {
char input[100]; // 定义足够大的数组用于输入
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 从标准输入读取字符串
// 移除fgets读取的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
reverse_string(input); // 反转字符串
printf("反转后的字符串是: %s\n", input);
return 0;
}
```
在这个程序中,`reverse_string`函数接收一个指向字符数组的指针,然后逐个字符地交换首尾位置,完成字符串反转。`main`函数则负责获取用户输入并调用这个函数。
字符逆序输入一个字符串输出反序后的字符串 c语言
在C语言中,你可以通过两个指针,一个指向字符串开始,另一个指向字符串结束,然后交换它们所指向的字符并逐次向中间移动,直到两个指针相遇。这种方法被称为双指针法,或者说是“回文”遍历的一种应用。下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse(char str[]) {
int start = 0;
int end = strlen(str) - 1; // 获取字符串长度
while (start < end) {
// 交换两端的字符
char temp = str[start];
str[start] = str[end];
str[end] = temp;
// 移动指针
start++;
end--;
}
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 防止换行符
input[strcspn(input, "\n")] = '\0'; // 去除fgets添加的换行符
reverse(input);
printf("反序后的字符串: %s\n", input);
return 0;
}
```
当你运行这个程序,它会提示你输入一个字符串,然后显示其逆序版本。
阅读全文
相关推荐














