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.学习体会

  • 二维指针是指针的升级版,理解起来更困难,需要特别注意指针的指向问题
  • 建一个项目还是相当有挑战的,还是得一步一步来吧
  • 后面的学习对书本的知识点需要更清晰明了,最近解题时老是翻书本查阅,还是的多看看书
posted @ 2018-01-06 22:51  three。g  阅读(495)  评论(2编辑  收藏  举报