C语言II博客作业01

一、作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-4
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11772
这个作业的目标 复习旧知识,学习文本文件
学号 20209057

二、本周作业

2.1 题目:给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数。
问题:
1.写出一个函数f(N),返回1到N之间出现的”1“的个数,比如f(12)=5;
2.满足条件”f(N)=N“的最大的N是多少?

1.贴出代码图片,写出解题思路,列出测试数据

解题思路:个位十位百位都可存在一,而我们就只需将其拆分后依次相加,如此循环即可。
测试数据:

输入数据 输出数据
12 5
21 13

2.给出不同测试数据的运算时间,如果你的运算时间不变,说明你的测试数据不够大



3.思考针对足够大的数据,如何减少运算时间,并给出在原有算法基础上的改进算法和改进思路。
暂时还没有改进的方法,但我发现我的数值越小运算时间越多,此处问题我还得在研究研究。
2.2 将上题中多组测试数据写入文件,并给出测试程序以检测你的代码有没有问题,贴出你的代码、运行结果和文件内容。

2.3 用自己的语言回答两个问题,并给出所查阅资料的引用
1.什么是文件缓冲系统?工作原理如何?
文件缓冲系统可以提高数据存取访问的效率,减少对磁盘的实际读写次数
工作原理:操作磁盘数据要经过缓冲区缓存文件系统规定磁盘和内存缓冲区之间的交互必须由操作系统自动完成。
2.什么是文本文件和二进制文件?
文本文件:是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放,也就是说存放的是数据的原形式。
二进制文件:把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放,也就是说存放的是数据的原形式。
2.4 请给出本周学习总结
1 学习进度条

2 累积代码行和博客字数

3 学习内容总结和感悟
总结:这次作业发现了很多的问题,寒假过去把知识都忘了;
感悟:复习和预习是很重要的。

posted @ 2021-03-08 09:33  不灵不灵的阿仙  阅读(36)  评论(0编辑  收藏  举报