您的位置:首页 > 编程语言 > C语言/C++

C语言博客作业--函数嵌套调用

2018-01-05 20:54 232 查看

一、实验作业

1.1 十进制转换二进制

设计思路

如果n==0 输出0
否则如果n==1 输出1
否则
dectobin(n/2)
输出n%2

代码截图



调试问题



二、截图本周题目集的PTA最后排名



三、阅读代码

用递归实现二分查找

```

include

int r_search(int arr[], int low, int high, int k);

int main( )

{

int key,index,n,i;

scanf("%d",&n);

int a
;

for(i=0;i<n;i++){

scanf("%d",&a[i]);

}

printf("输入要查找的关键字:\n");

scanf("%d", &key);

index = r_search(a, 0, n-1, key);

if(index >= 0)

printf("关键字所在位置是:%d \n", index);

else

printf("没有找到关键字\n");

return 0;

}

int r_search(int arr[], int low, int high, int k)

{

int i,mid;

if (low>high) i=-1;

else

{

mid=(low+high)/2;

if(arr[mid]==k)

i=mid;

else if(arr[mid]>k)

i=r_search(arr, low,mid-1,k);

else

i=r_search(arr, mid+1,high,k);

}

return i;

}

```

用递归实现二分查找在形式上更为简洁,将二分查找封装成函数,不同情况下进入不同的递归式子,可读性高。

四、本周学习总结(

1.介绍本周学习内容

学会了函数嵌套调用。

递归函数中递归出口和递归式子是要点,掌握式子的关系不要深究过程,不然会混乱。

宏定义格式
#define 宏名 宏定义字符串


2.学习体会

工程作业刚开始时都不会建工程,一些函数都不太会利用,删除插入太会。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: