输入一个字符串(以“.”作为结束),设计一个算法,要求打印出它们的倒序字符串。C语言
时间: 2024-10-25 17:13:03 浏览: 18
在C语言中,可以使用数组或者字符指针来实现这个功能。这里提供一种简单的方法,使用字符指针从后往前遍历并逐个添加字符到新的字符串中。以下是算法步骤:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void reverseString(char* str);
int main() {
char input[100];
printf("请输入一个字符串(以‘.’作为结束):");
fgets(input, sizeof(input), stdin); // 读取输入直到换行符
// 移除fgets读取的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
// 打印反转后的字符串
reverseString(input);
return 0;
}
// 反转字符串函数
void reverseString(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--;
}
printf("反转后的字符串:%s\n", str); // 输出结果
}
阅读全文