zoukankan      html  css  js  c++  java
  • C语言I博客作业07

    这个作业属于那个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-1/
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11588
    我在这个课程的目标是 熟悉while语句的使用
    这个作业在个具体那方面帮助我实现目标 从题目中练习while语句的使用,熟悉while语句
    参考文献 c语言程序设计(第三版)
    学号 20208917

    1.PTA实验作业(20分/题)

    请再此处列出自己的排名图片,如:

    1.1 题目名:求整数的位数及各位数字之和

    题目内容描述:
    对于给定的正整数N,求它的位数及其各位数字之和。输入格式:输入在一行中给出一个不超过10的9次方​​ 的正整数N。输出格式:在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。输入样例:321 输出样例:3 6

    1.1.1数据处理

    数据表达:定义了三个整型,分别为N,sum=0,num=0。
    数据处理:输入一个整数N,符合while中的条件则进入循环(sum=N%10+sum; N=N/10;num++)之中,否则printf。
    

    1.1.2实验代码截图

    贴图展示代码,不要复制。请给出名字标识。

    1.1.3 造测试数据

    输出你的程序面向各种测试数据结果,除了题目给出的测试数据,可以自己再造其他临界数据,越多越好,并加上必要说明

    输入样例 输出样例 说明
    321 3 6 输入为321时,可得三位数,且相加为6,故输出为3 6
    12 2 3 输入为12时,可得两位数,且相加为3,故输出为2 3
    88887777 8 60 输入为88887777时,可得八位数,且相加为60,故输出为8 60

    1.1.4 PTA提交列表及说明

    根据PTA提交列表,简要描述调试程序碰到的问题及解决办法。

    提交列表说明:

    1.答案错误:只考虑循环次数num,没有把各个位数上的数累加起来。
    2.编译错误:修改代码的时候丢失了符号。调试并进行修改。
    3.答案错误:考虑了累加问题,却没有把每次循环余数的累加处理到位。通过取余数的办法来解决对应的位数上的数,再进行累加。
    

    1.2 题目名:循环-古角猜想

    题目内容描述:
    日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。

    输入格式:
    输入一个自然数n

    输出格式:
    输出每次运算步骤,直到结果为1.

    输入样例1:
    5
    输出样例1:
    53+1=16
    16/2=8
    8/2=4
    4/2=2
    2/2=1
    输入样例2:
    6
    输出样例2:
    6/2=3
    3
    3+1=10
    10/2=5
    5*3+1=16
    16/2=8
    8/2=4
    4/2=2
    2/2=1

    1.2.1 数据处理

    数据表达:定义一个整型,为n。
    数据处理:输入一个n,符合while语句则开始第一次循环,再是否满足if(或者是else)则 printf("%d/2=%d
    ",n,n/2)(或是printf("%d*3+1=%d
    ",n,n*3+1)),再按条件进行循环,直到n=1时停止循环。
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入样例 输出样例 说明
    5 1 输入5,输出5*3+1=16,16/2=8,8/2=4,4/2=2,2/2=1
    0 1 输入0,输出0*3+1=1
    6 1 输入6,输出6/2=3,33+1=10,10/2=5,53+1=16,16/2=8,8/2=4,4/2=2,2/2=1

    1.2.4 PTA提交列表及说明


    列表提交说明:

    1.编译错误:缺失了一个"}"。
    2.格式错误:缺少了换行符“
    ”。
    

    2.代码互评(5分)

    找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

    同学代码截图1:

    同学代码截图2:

    自己代码截图

    别人用以前学的for语句来解题很好的回顾了以前的知识,同时,也可以得知同一题但是解题方法并不是唯一的。
    将所学习的知识进行联系使用,我感觉更能巩固自己。
    

    3.学习总结(15分)

    3.1 学习进度条(5分)

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

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

    3.3.1 学习内容总结

    3.3.2 学习体会

    刚开始使用这个while的时候有点懵,直接把while当成了if语句来用,有时候不注意这个就直接无限循环了。还有就是if,switch,for,while的穿插使用,比较细节,感觉脑子哟要考虑很多细节上的东西。自我感觉的话,c语言还要多加练习。

  • 相关阅读:
    误删本地分支,两天的工作量差点毁于一旦,使用git reflog 有惊无险恢复
    单点登录SSO
    IdentityServer4介绍和使用
    常见的远程无线通信技术
    4G模块和DTU模块有何区别
    以太网IO控制器
    什么是无线网关,无线网关的功能
    什么是IOT网关,网关功能有哪些
    Modbus RTU和Modbus TCP的两种区别
    数据采集网关设备 如何选择数据采集网关
  • 原文地址:https://www.cnblogs.com/1531303574qq/p/14088340.html
Copyright © 2011-2022 走看看