输入一个字符串(以“.”作为结束),设计一个算法,要求打印出它们的倒序字符串。用C程序结构写代码
时间: 2024-10-19 19:13:54 浏览: 51
当然可以。在C语言中,你可以使用标准库函数`strlen()`获取字符串长度,然后利用数组或指针逆序遍历的方式来实现这个功能。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void printReversedString(const char *str);
int main() {
char input[100]; // 假设输入字符串不超过100个字符
printf("请输入一个字符串(以`.`结束):");
fgets(input, sizeof(input), stdin); // 从标准输入读取字符串,包括`.`
// 去掉换行符
input[strcspn(input, "\n")] = '\0';
// 打印倒序字符串
printReversedString(input);
return 0;
}
// 函数实现
void printReversedString(const char *str) {
int length = strlen(str);
for (int i = length - 1; i >= 0; i--) {
printf("%c", str[i]); // 从后往前打印每个字符
}
printf("\n");
}
相关问题
输入一个字符串(以“.”作为结束),设计一个算法,要求打印出它们的倒序字符串。C语言
在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); // 输出结果
}
输入一个字符串(以“.”作为结束),设计一个算法,要求打印出它们的倒序字符串。运用c语言和递归算法解决
在C语言中,我们可以使用递归算法来实现字符串的倒序打印。这里有一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义一个递归函数,接收一个字符串指针和剩余字符计数
void printReverse(char* str, int index) {
// 递归终止条件:当索引小于0时,停止递归
if (index < 0)
return;
// 打印当前字符
printf("%c", str[index]);
// 递归调用自身,将索引减一,继续处理下一个字符
printReverse(str, index - 1);
}
int main() {
char input[100]; // 假设输入字符串最多100个字符
printf("请输入一个字符串(以\".\")结束:");
fgets(input, sizeof(input), stdin); // 从标准输入获取字符串
// 截断fgets读取到的换行符
size_t len = strlen(input);
if (input[len - 1] == '\n')
input[len - 1] = '\0'; // 如果有换行符,替换为'\0'
// 调用printReverse函数并传入字符串和长度(-1表示已排除最后一个'\0')
printReverse(input, strlen(input) - 1);
printf("\n"); // 换行,使得输出更清晰
return 0;
}
```
当你运行这个程序并输入一个以"."结尾的字符串后,它会打印出该字符串的倒序。
阅读全文