C语言博客作业--函数嵌套调用
一丶PTA实验作业
题目1:十进制转换二进制
(1).PTA提交列表
(2). 设计思路
定义函数 dectobin
如果(n==1或n==0)
输出n
否则
递归 dectobin(n/2)
输出n%2
(3).代码截图
(4).本题调试过程碰到问题及PTA提交列表情况说明
先后调用递归得出的结果会不同,这题对于了解递归原理很有帮助
1.2学生成绩管理系统
1.21画函数模块图,简要介绍函数功能
1.2.2 截图展示你的工程文件
1.2.3 函数代码部分截图
修改学生信息:
总分排序代码:
删除学生信息:
1.2.4调试结果展示
暂时还无法运行
调试碰到问题及解决办法。
二、截图本周题目集的PTA最后排名
三、阅读代码
猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又多吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,问第一天共摘下来多少个桃子?并反向打印每天所剩桃子数。
#include<stdio.h>
#include<process.h>
int main()
{
/*打印最初的桃子数量*/
printf("%d\n", f(1));
system("pause");
return 0;
}
/*第day天剩下的桃子数*/
int f(int day)
{
int n;
if(day==10)
n=1;
else
{
/*第day天(左)和第day+1天(右)所剩桃子的关系式*/
n=(f(day+1)+1)*2;
/*由于递归规律,直接倒序打印*/
printf("第%d天所剩桃子%d个\n", day, n);
}
return n;
}
找出小猴吃桃数的规律,并将递归融入这个规律里求出每一天的吃桃数,第十天剩余的桃子数正好时递归的出口
四、本周学习总结
1.你学会了什么?
- 递归函数
即是该函数调用它本身自己,这种调用过程称为递归。
递归可以相当于循环,所以想结束递归,就必须有终止递归的条件测试部分,否则就会出现无限递归(即无限循环)。同时,这也是使用递归的难点。
优点:
1)简洁
2)适合解决阶乘、涉及相反顺序的编程问题
缺点
1)递归快速耗内存
2)不方便阅读和维护 - 宏定义
格式:
define 标识符 字符串
其中的标识符就是所谓的符号常量,也称为“宏名”。
预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。
例:
define PI 3.1415926
把程序中出现的PI全部换成3.1415926
- 二级指针
类型名 **变量名
A(即B的地址)是指向指针的指针,称为二级指针,用于存放二级指针的变量称为二级指针变量.根据B的不同情况,二级指针又分为指向指针变量的指针和指向数组的指针.
2.学习体会
- 二维指针是指针的升级版,理解起来更困难,需要特别注意指针的指向问题
- 建一个项目还是相当有挑战的,还是得一步一步来吧
- 后面的学习对书本的知识点需要更清晰明了,最近解题时老是翻书本查阅,还是的多看看书