C语言博客作业--函数嵌套调用
一、PTA实验作业
题目1:6-4 十进制转换二进制
1. 本题PTA提交列表
2. 设计思路
定义函数dectobin,定义i=n/2
如果传入的数为0,输出0,返回
如果传入的数为1,输出1,返回
如果传入的数不等于0,dectobin(n/2),如果n/2不等于0,输出n%2
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
部分正确是因为一直没有想出如果传入的数为0该怎么解决,请教了一个学长
1.2 学生成绩管理系统
1.2.1 画函数模块图,简要介绍函数功能。
1.2.2 截图展示你的工程文件
1.2.3 函数代码部分截图
1.2.4 调试结果展示
1.2.5 调试碰到问题及解决办法。
二、截图本周题目集的PTA最后排名。
三、阅读代码
角谷定理。输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。求经过多少次可得到自然数1。
#include <stdio.h>
int f(int i)
{
printf("%d ", i);
if (i == 1)return 1;
if (i %2==1)
return f(i * 3 + 1) + 1;
else
return f(i / 2) + 1;
}
int main()
{
int i, w;
printf("请输入数字:");
scanf("%d", &i);
w = f(i);
printf("\nSTEP=%d\n", w);
}
对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。 ,此代码验证角谷猜想
四、本周学习总结
1.介绍本周学习内容
宏的定义
#define 宏名 宏定义字符串
2.二级指针
类型名 **变量名
int a=666;
int *p=&a;
int **pp=&p;
3.行指针
int *(变量名)[长度]
4.链表
链表是一种物理存储单元上非连续、非顺序的存储结构,通过指针的连接顺序实现.
链表对于成员的插入删除十分方便,快捷。链表在访问成员时需要按节点顺序寻找,数组可以随机访问其中成员.
5.内存的分配和释放
在代码中,为了节约内存,可以动态生成数据.其利用的是malloc()函数。
利用free()函数可以及时释放动态分配得来的空间.
使用这两种函数前都需要调用库函数 #include<stdlib.h>
2.学习体会。
学习到后面,知识点越来越多,知识也有很多琐碎的点,理解也有点困难,需要经常看,还要多复习以前的。把不懂的地方打个标记,等上课的时候可以请教老师。理解书上的例子,搞懂每个语句的含义,用法。看完后尝试着不看例子自己编写程序,编完以后再跟书上进行比较,看自己的程序还有哪方面的不足,再进行改正。想要真正学好c语言光看书是不够的,一定要自己多动手