首页 > 代码库 > 1111 多个整数的逆序输出

1111 多个整数的逆序输出

题目来源:
https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1111
Description
输入n和n个整数,以与输入顺序相反的顺序输出这n个整数。要求不使用数组,而使用递归函数实现。
递归函数实现过程如下:
void inverse(int n)
{
    if(n >1)
   {
        (1) 读入一个整数,存入num;
        (2)  将后面的n-1个数逆序输出: inverse(n-1);  
        (3)  输出num;
   }
 if( n == 1)  直接输出num;   
}
Input
输入有两行,第一行是一个正整数n,第二行有n个整数,整数之间由空格隔开。
Output
输出n个整数,顺序与输入顺序相反,每个整数后有一个空格。
Sample Input
5
11 22 33 44 55
Sample Output
55 44 33 22 11
题意描述:
输入正整数n及n个正整数
逆序输出这n个正整数
解题思路:
调用递归函数inverse(n)输出这n个正整数
程序代码:

 1 #include<stdio.h>
 2 int inverse(int n);
 3 int main()
 4 {
 5     int n;
 6     while(scanf("%d",&n) != EOF)
 7     {
 8         inverse(n);
 9         printf("\n");
10     }
11     return 0;
12  } 
13 int inverse(int n)
14 {
15     int num;
16     scanf("%d",&num);
17     if(n>1)
18     {
19         inverse(n-1);
20         printf("%d ",num);
21     }
22     if(n==1)
23     printf("%d ",num);
24 }

错误分析:
注意读入数字函数的位置

1111 多个整数的逆序输出