[真题] (华东师范大学):
输入一行字符,然后按逆序输出。
分析:
这道题我们有2种算法
- 递归
- 循环
递归的算法是先递推到字符串末尾,然后从末尾开始输出字符。
循环的算法是用strlen求出字符串的长度,然后从右往左输出字符。
我们用递归来解题。
代码实现:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <assert.h>
void Reverse(const char* s)
{
assert(s);
//判断是否到字符串末尾
if (!*s)
{
return;
}
Reverse(s + 1);
putchar(*s);
}
int main()
{
char s[100] = { 0 };
gets(s);
Reverse(s);
return 0;
}