一、实验作业
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
", 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个
", day, n);
}
return n;
}
//一个复杂的问题用递归就很简单地解决了,主要是要找出关系式
四、本周学习总结
1.介绍本周学习内容
- 递归函数(不断地调用自身)
1.递归出口,即递归的结束条件
2.递归式子,递归的表达式 - 宏定义,用宏来定义一些符号常量,可以方便程序的编制,带参数的宏定义和函数相似,但实质不同,宏是单纯的替换,函数是调用
- 文件包含,建立工程,编写一个大型的系统时,更好地分类,实现程序的结构化
- 二级指针 类型名 **变量名
2.学习体会。
学到后面已经有点深奥了,特别是二级指针,有点绕不过弯来,还有写一个系统是真的不容易,要考虑方方面面,有时候实现了这个功能,就无法实现另一个功能,这时就要重新构架,删了改,改了删,而且还会出现一堆看不懂的错误,还有过了编译却跟自己预期的不一样的错误,又不知道错哪了