本次作业所属课程 |
C语言程序设计|| |
本次作业要求 |
|
我在这个课程的目标是 |
学会自主编程 |
本次学习在哪些具体方面帮组我实现目标 |
搞懂递归 |
参考文献 |
C primer plus第六版 |
一、基础题
1、单选题
void fun(int x)
{
static int y;
……
return;
}
int z;
void main( )
{
int a,b;
fun(a);
……
}
总结:这个预习题还是有点难,翻书都翻了好久,还百度了几个。
2、编程题
题目一:汉诺塔问题
1)实验代码
#include<stdio.h> void hanio(int n,char x,char y,char z); int main () { int n; char x,y,z; scanf("%d ",&n); scanf("%c %c %c ",&x,&y,&z); hanio(n,x,y,z); } void hanio(int n,char x,char y,char z) { if(n==1) { printf("%d: %c -> %c ",n,x,y); } else { hanio(n-1,x,z,y); printf("%d: %c -> %c ",n,x,y); hanio(n-1,z,y,x); } }
2)设计思路
3)本题调试过程中遇到的问题及解决办法
这题按照书上的代码修改的,改了那个输出样例,错了几次就对了
4)运行结果截图
题目二:估值一亿的AI核心代码
难度太大,放弃了
题目三:八皇后问题
不会写,答案都懒得搜了
二、挑战题
算了吧,基础题都搞不完还挑战题
三、预习题
请举实例解释以下几个概念:数组指针,指针数组,指针函数,函数指针,二级指针,单向链表。(无实例不给分)
数组指针:指向数组首元素的地址的指针,其本质为指针。例如:int (*p)[4]
指针数组:如果数组的各个元素都是指针类型,用于存放内存地址,那么这个数组就是指针数组。例如:char*color[5]。
函数指针:函数指针可以像一般函数一样,用于调用函数、传递参数
例如:
int func(int x); /* 声明一个函数 */
void (*f) (int x); /* 声明一个函数指针 */
f=func; /* 将func函数的首地址赋给指针f */
答案来源链接:https://baike.sogou.com/v7627909.htm?fromTitle=%E5%87%BD%E6%95%B0%E6%8C%87%E9%92%88
二级指针:指向指针的指针。例如:int*p=&a; int**pp=&p;
单向链表:单向链表是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。 通过指针连接起来,但是只能单向遍历的内存块。
例如:
struct stu_node { int data; /*数据域*/ struct stu_node *next; //指向下一个结点的指针 };
答案来源链接:https://baike.sogou.com/v10718780.htm?fromTitle=%E5%8D%95%E5%90%91%E9%93%BE%E8%A1%A8
四、学习进度条
时间 |
这周所花时间 |
代码行数 |
学到的知识简介 |
目前比较迷惑的问题 |
第一周 |
5小时 |
80 |
初步了解数组 |
数组的引用 |
第二周 |
6小时 |
200 |
指针的了解 |
完全没听懂老师上课在讲什么,继续努力 |
第三周 |
7小时 |
200 |
文件与数组的使用 |
没看到代码运行后文件的内容发生改变 |
第四周 |
9小时 |
120 |
冒泡法,选择排序法 |
冒泡法不会 |
第五周 |
9小时 |
120+ |
字符型数组 |
把代码改成文件格式 |
第六周 |
4小时 |
130左右 |
指针 |
指针的调用 |
第七周 |
6小时+ |
200 |
指针与数组 |
指针与数组的连续有点模糊 |
第八周 |
10小时 |
200+ |
一些新的函数 |
结构那块有点迷 |
第九周 |
4小时 |
120 |
自己定义结构变量 |
如何灵活的使用结构解决问题 |
第十周 |
2小时 |
0 |
无 |
无 |
第十一周 |
6 |
60 |
递归 |
递归不怎么会 |
五、累积博客字数及代码行数
六、结对编程感想
这次作业太难,都写不出,完全不是人多加起来就能写得出来的
总结:作业难度太大