zzuli oj 1111 多个整数的逆序输出

题意描述:

输入n和n个整数,以与输入顺序相反的顺序输出这n个整数。要求不使用数组,而使用递归函数实现。
递归函数实现过程如下:
void inverse(int n)
{
    if(n >1)
   {
        (1) 读入一个整数,存入num;
        (2)  将后面的n-1个数逆序输出: inverse(n-1);  
        (3)  输出num;
   }
 if( n == 1)  直接输出num;
}

解题思路:

先输入一个整数n,编写递归函数,分为n=1或n>1两种情况:如果大于1,先读入一个整数存入num,然后再利用递归函数读入n-1个数,最后n=1时直接将读入的整数输出。

代码实现:

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

易错分析:

递归思想不理解,题意不能准确分析。

posted @ 2019-02-08 16:44  沅清的小窝  阅读(881)  评论(0编辑  收藏  举报