C语言II博客作业01

作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11769
这个作业的目标 <回顾数据类型和表达式,对文件的有初步的引用>
学号 <20209143>

一、本周教学内容&目标
第6章 回顾数据类型和表达式,第12章 文件

二、本周作业(总分:50分)
2.1 题目:给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数。
例如:
N=2,写下1,2。这样只出现了1个”1“。
N=12,我们会写下1,2,3,4,5,6,7,8,9,10,11,12。这样,1的个数是5。
1)代码截图:
计算1到N之间出现的”1“的个数代码截图:

计算1到N之间出现的”1“的个数代码运行时间代码截图:

2)解题思路:
首先自定义符合题目要求的一个函数然后调用它计算并反馈出结果;使用for循环在其中增加while循环,用取余的方法来判断是否满足条件,如果满足条件那么最终结果会加1,不满足条件最终结果不会加1,一直到最后一位,以此循环。
3)测试数据

测试数据 运行时间 计算结果
15 1.982 8
1111111 1.849 66672
515151155 2.972 516282860





为了优化计算,可以改用长整型

2.3 用自己的语言回答两个问题,并给出所查阅资料的引用(10分)
1.什么是文件缓冲系统?工作原理如何?
ANSI C规定,对文件进行输入或输出时,系统将对输入或输出文件开辟缓冲区。
一般由程序数据区和内存缓冲区之间进行程序控制,缓冲文件系统会自动在内存中为被操作的文件开辟一块连续的内存单元作为文件缓冲区。当要存取时,先把数据写入缓冲区,当写满512B时自动清空缓冲区,再写入新数据,存取数据通过缓冲区进行写读

2.什么是文本文件和二进制文件?
文本文件是把数据以一串字符的形式,每个字符以其ASC11码值存储。
二进制文件是把数据按内存中的存储形式存储。
例如,整数1234
文本文件存储:49 50 51 52(4个字符ASC11码)
二进制文件存储:00 00 04 D2(1234的二进制数)
2.4 请给出本周学习总结(15分)
1 学习进度条(5分)

时间 这周所用的时间 代码行数
第一周 10h 180

2 累积代码行和博客字数(5分)

3 学习内容总结和感悟(5分)

感悟:学习一门语言是需要大量时间和精力进行训练,编译,当然计算机语言的学习时候相当有意思与吸引人的,我会尽力在学习的路上越走越远,越学越精。

原文地址:https://www.cnblogs.com/liu010124/p/14476346.html