zoukankan      html  css  js  c++  java
  • C语言II博客作业01

    这个作业属于哪个课程 C语言程序设计
    这个作业要求在哪里 作业要求
    这个作业的目标 回顾数据类型和表达式,学习文件操作
    学号 20208988

    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.写出一个函数f(N),返回1到N之间出现的”1“的个数,比如f(12)=5;

    2.满足条件”f(N)=N“的最大的N是多少?
    1.贴出代码图片,写出解题思路,列出测试数据(5分)

    解题思路:暴力求解,遍历1到N。

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

    3.思考针对足够大的数据,如何减少运算时间,并给出在原有算法基础上的改进算法和改进思路。(10分)

    改进思路:改变循环条件,减少遍历的个数。
    改进算法:遍历时,若循环变量i只有个位数为1,其他各个位均不等于1,则i直接加8再自增,减少循环次数。

    2.2 将上题中多组测试数据写入文件,并给出测试程序以检测你的代码有没有问题,贴出你的代码、运行结果和文件内容。(5分)


    2.3 用自己的语言回答两个问题,并给出所查阅资料的引用(10分)

    1.什么是文件缓冲系统?工作原理如何?

    ANSIC 标准采用“缓冲文件系统”处理的数据文件的,所谓缓冲文件系统是指系统自动地在内存中为程序中每一个正在
    使用的文件开辟一块“文件缓冲区”。从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘
    上。如果从磁盘向计算机读入数据,则从磁盘文件中读取数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐
    个地将数据送到程序数据区(程序变量等)。缓冲区的大小根据C编译系统决定。

    2.什么是文本文件和二进制文件?

    根据数据的组织形式,数据文件被称为文本文件或者二进制文件。
    数据在内存中以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件。
    如果要求在外存上以ASCII码的形式存储,则需要在存储前转换。以ASCII字符的形式存储的文件就是文本文件。

    2.4 请给出本周学习总结(15分)

    1 学习进度条(5分)

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

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

    1.回顾上学期所学。
    2.了解文本操作。
    3.花费大量的时间学习理论知识,是学好C语言的基础。
    4.大量实践是融会贯通的必要条件。
    5.教能更好的发现自己的问题,也能加深理解

  • 相关阅读:
    Linux系统调用和库函数调用的区别
    Linux驱动的两种加载方式过程分析
    activeMQ的两个默认端口8161和61616的区别
    ActiveMQ安装报错Wrapped Stopped解决办法
    Spring Security 5.x兼容多种密码加密方式
    Spring Security 5中 PasswordEncoder的使用
    There is no PasswordEncoder mapped for the id "null"的解决办法
    spring security 5 There is no PasswordEncoder mapped for the id "null" 错误
    MySQL——修改视图
    MySQL视图 definer & invoker 权限
  • 原文地址:https://www.cnblogs.com/junfengyihan/p/14466711.html
Copyright © 2011-2022 走看看