递归练习(C语言)
2014-05-22 23:21
681 查看
本文地址:http://www.cnblogs.com/archimedes/p/recursive-practice.html,转载请注明源地址。
1、炮弹一样的球状物体,能够堆积成一个金字塔,在顶端有一个炮弹,它坐落在一个4个炮弹组成的层面上,而这4个炮弹又坐落在一个9个炮弹组成的层面上,以此类推。写一个递归函数CannonBall,这个函数把金字塔的高度作为参数,并且返回它所包括的炮弹数量。函数必须按照递归方式实现,不可以使用迭代结构,例如while或for。
View Code
1、炮弹一样的球状物体,能够堆积成一个金字塔,在顶端有一个炮弹,它坐落在一个4个炮弹组成的层面上,而这4个炮弹又坐落在一个9个炮弹组成的层面上,以此类推。写一个递归函数CannonBall,这个函数把金字塔的高度作为参数,并且返回它所包括的炮弹数量。函数必须按照递归方式实现,不可以使用迭代结构,例如while或for。
#include<stdio.h> #include<stdlib.h> #include<stdbool.h> int *binary_search(int val, int array[], int n) { int m = n / 2; if(n <= 0) return NULL; if(val == array[m]) return array + m; if(val < array[m]) return binary_search(val, array, m); else return binary_search(val, array + m + 1, n - m - 1); } int main() { int n; int *p; int a[6] = {1,2,3,4,5,6}; while(~scanf("%d", &n)){ p = binary_search(n, a, 6); if(p) { printf("this number is in the array at position %d\n", p - a); } else { printf("this number is not in the array\n"); } } return 0; }
View Code
相关文章推荐
- C语言递归练习
- 【备战蓝桥杯】【递归】【C语言】【BASIC-21基础练习 Sine之舞】
- c语言递归练习习题
- C语言——递归练习
- C语言练习 表达式的递归计算
- 第05天C语言(10):递归练习02
- C语言不用递归(使用栈)实现斐波那契数列练习
- 【备战蓝桥杯】【递归】【C语言】【BASIC-22基础练习 FJ的字符串】
- C语言练习 (典型递归问题)汉诺塔问题
- 第05天C语言(09):递归练习01
- 【C语言】接受一个整形(无符号),把他转换为字符并打印(递归)
- 黑马程序员-C语言-递归
- 使用C语言写的练习小程序(主要使用链表)
- C语言递归实现字符串翻转
- C语言编程(练习3:数组与指针)
- 我的C语言队列练习
- Java递归练习-将字符串中的“x”全部移到这个字符串最后
- 练习c语言题目
- 递推递归练习O - 螺旋方阵
- 宿舍管理系统【C语言建工程及多文件练习】