zoukankan      html  css  js  c++  java
  • Openjudge计算概论——数组逆序重放【递归练习】

    /*=====================================
    数组逆序重放
    总时间限制:1000ms
    内存限制:65536kB
    描述
        将一个数组中的值按逆序重新存放。
        例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。
    输入
        输入为两行:第一行数组中元素的个数n(1<n<100),
        第二行是n个整数,每两个整数之间用空格分隔。
    输出
        输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。
    样例输入
    5
    8 6 5 4 1
    样例输出
    1 4 5 6 8
    来源
    计算概论05 

    思路:
    这个题可以不用数组:进入到递归子函数后输入数据,接着进入下一层的递归,......当递归返回到该层时输出刚才在本层输入的数据。
    这个其实就是利用系统栈来代替了数组的存储功能。 ======================================
    */
     1 #include<stdio.h>
     2 void fun(int i/*,int a[]*/,int n);//fun(n)表示要输入第n个数,然后进入下一层递归,回来后输出第n个数 
     3 int main()
     4 {
     5     int n,a[101];
     6     scanf("%d",&n);
     7     //fun(0,a,n);
     8     fun(0,n);
     9     return 0;
    10 }
    11 void fun(int i/*,int a[]*/,int n)//fun(n)表示还有n个数要输入和输出 
    12 {
    13     int t;
    14     if(i==n)
    15     {
    16         return ;
    17     }
    18     else
    19     {
    20         scanf("%d",&t);
    21         //scanf("%d",&a[i]);
    22         //fun(i+1,a,n);
    23         fun(i+1,n);
    24         //printf("%d ",a[i]);
    25         printf("%d ",t);
    26     }
    27 }
    View Code
  • 相关阅读:
    Oracle notes
    jQuery笔记
    sql developer 要求enter the full pathname for java.exe
    [Error] WCF: SOAP security negotiation
    Unity
    Windows Form 开发笔记
    WP开发 资料整理
    乔迁新居:http://longwarelive.spaces.live.com/
    2008年1月1日启用 longware@live.cn
    《程序员》杂志揭晓2007软件中国年度评选
  • 原文地址:https://www.cnblogs.com/huashanqingzhu/p/3569847.html
Copyright © 2011-2022 走看看