码迷,mamicode.com
首页 > 其他好文 > 详细

调用递归输出从小到大顺序

时间:2020-07-26 15:29:51      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:val   tip   nbsp   顺序   void   ted   value   lse   put   

 #include <stdio.h>
    int a[5]={ 7,2,9,10,3 }; 
    void st(int *,int);
    void main()
    {
        int i;
        st(a,5);
        for(i=0;i<5;i++)
            printf("%4d",a[i]);
        printf("\n");
    }
    void st(int *b,int n)
    {
        int i,m,t;
        if(n==1) return;
        m=0;
        for(i=1;i<n;i++)
            if(b[i]<b[m]) m=i;
        t=b[0];b[0]=b[m];b[m]=t;
        b++;n--;
        st(b,n);
    }
程序的运行结果是

答案:C

A)  2  10  3  9  7

B)  2  7  3  9  10 

C)  2  3  7  9  10 

 

 

 

计算数组array中元素下标为len到0的所有元素的和。

#include <stdio.h>
int sum(int* array, int len)
{
    if (len == 0)
        return array[0];
    else
        return array[0] + sum(array+1, len-1);
}
main() 
{
    int array[5] = {1,2,3,4,5};
    int res = sum(array, 4);
    printf("%d\n", res);
}

 

41.
 有以下程序
#include <stdio.h>
void f(int x[], int n)
{  if (n > 1) 
   {  printf("%d,", x[n-1]); 
      f(x, n-1);
      printf("%d,", x[n-1]);
   }
   else
     printf("%d,", x[0]);
}
main( )
{   int z[3] = {1, 2, 3};
    f(z,3);      
    printf("\n");
}
程序运行后的输出结果是

答案:D

A)1,2,3,1,2,3,

B)3,1,3,

C)1,2,3,2,1,

D)3,2,1,2,3,

 

f函数是将数组x进行输出,依次输出为z(2),z(1),z(0),z(1),z(2),即3,2,1,2,3,。

 

调用递归输出从小到大顺序

标签:val   tip   nbsp   顺序   void   ted   value   lse   put   

原文地址:https://www.cnblogs.com/wven/p/13379251.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!