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

一、实验作业

1.1 PTA题目

  • 设计思路
if n=1 返回
else 
  i for  0  to n-1
    if(a[i]>a[i+1])交换
	n=n-1调用自身函数 
  • 代码截图

  • 调试问题
    本来不用循环的,但是想来半天还是用上循环,不知道有没有不用循环的做法

1.2 学生成绩管理系统

1.2.1 画函数模块图,简要介绍函数功能。

1.2.2 截图展示你的工程文件

1.2.3 函数代码部分截图

本系统代码总行数:367

1.2.4 调试结果展示

1.2.5 调试碰到问题及解决办法。
开始时编译都过不了,然后又建了一个工程,拷进去才可以,还有我的增加函数的学号显示不出来,不知道为啥

二、截图本周题目集的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.递归式子,递归的表达式
  • 宏定义,用宏来定义一些符号常量,可以方便程序的编制,带参数的宏定义和函数相似,但实质不同,宏是单纯的替换,函数是调用
  • 文件包含,建立工程,编写一个大型的系统时,更好地分类,实现程序的结构化
  • 二级指针 类型名 **变量名
    2.学习体会。
    学到后面已经有点深奥了,特别是二级指针,有点绕不过弯来,还有写一个系统是真的不容易,要考虑方方面面,有时候实现了这个功能,就无法实现另一个功能,这时就要重新构架,删了改,改了删,而且还会出现一堆看不懂的错误,还有过了编译却跟自己预期的不一样的错误,又不知道错哪了
posted @ 2017-12-31 22:34  夜雨生虹  阅读(651)  评论(2编辑  收藏  举报