• C语言I博客作业08


    问题 回答
    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 作业要求
    我在这个课程的目标是 自己设计一个小游戏
    这个作业在那个具体方面帮助我实现目标 在PTA题目中多次使用while和do-while结构
    参考文献 伪代码的写法

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

    1.1求整数的位数及各位数字之和 (15 分)

    对于给定的正整数N,求它的位数及其各位数字之和。

    输入格式:
    输入在一行中给出一个不超过10的9次方正整数N。

    输出格式:
    在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。

    输入样例:

    321

    输出样例:

    3 6

    1.1.1数据处理

    数据表达:运用了整型变量number,item,sum,i,分别代表输入的整型数,储存整型数,位数,各位数字之和。
    数据处理:

    
        int number,item;     /*整型数,储存整型数*/
        int i←0,sum←0;       /*位数,各位数字之和*/
        输入整型数
        item←number
        while(item)
        
            sum+←item%10     /*储存各位数*/
            item←item/10     /*储存整型数*/
            i++
    
        输出位数,各位数字之和
        end
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    45678 5 30 5位数,各位数字之和为30
    464894 6 35 6位数,各位数之和为35
    12346 5 16 5位数,各位数字之和为16

    1.1.4 PTA提交列表及说明

    提交列表说明:
    段错误:不小心把输入格式中少打一个符号。

    1.2jmu-c-二进制转10进制 (20 分)

    输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!

    输入样例1:

    11111111

    输出样例1:

    255

    输入样例2:

    34

    输出样例2:

    error input!

    1.2.1 数据处理

    数据表达:定义了字符型变量ch,整型变量ten十进制。
    数据处理:

        char ch;         /*定义字符型变量ch*/
        int ten←0;       /*ten十进制*/
        ch←getchar()     /*输入一个字符型数据,把值赋给变量ch*/
        while(ch!←'
    ')
        
            switch(ch)
    		
                case '1':ten←ten*2+1   /*二进制与十进制互换*/
                break;
                case '0':ten←ten*2+0   /*二进制与十进制互换*/
                break;
                default:               /*不是二进制*/
                输出error input!
                end
            
            ch←getchar()     /*输入一个字符型数据,把值赋给变量ch*/
        
        输出十进制数
        end
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    1111011 123 为二进制
    110110101 437 为二进制
    2465 error input! 非二进制

    1.2.4 PTA提交列表及说明

    提交列表说明:
    编译错误:一开始并不知道二进制与十进制互换表达式错误。
    编译错误:不知道用getchar()

    2.代码互评(5分)

    同学代码截图

    同学代码截图

    自己代码截图

    1.我们都是将数字用字符型的数据进行输入,来达到目的。
    2.我和第一位同学使用的代码采用的单个字符存储,而第二位同学采用的是字符串方式进行存储的。
    3.我使用的语句是while和switch语句,而第一位同学使用的是while和if–else语句,第二位同学使用的是for语句和多分支if语句。
    4.我和第一位同学用来转进制的方式是在while循环中进行判断,合理时一边读取字符,一边进行计算转换,而第二位同学是在判断输入的二进制数合理时,对字符串的长度进行计算,最后利用循环计算。
    5.我和第一位同学的代码差不多,都比第二位同学的代码简单点。
    6.第一位同学将ch=getchar()放入到while中,while(ch=getchar())的意思是:你一直输入字符,直到你按ctrl+z结束

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    11.11~11.17 18h 263 熟悉使用while和do-while结构 字符的实际使用

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

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

    3.3.1 学习内容总结

    3.3.2 学习体会

    本周又学习了while和do-whlie结构,while循环语句和for语句不同的是,while语句只有一个表达式,for语句有三个表达式,while会一直循环下去直到条件表达式结果为假,而与do-while语句不同的是,do-while语句先做语句,再做判断条件。本周PTA有点难啊,有的不知道题目什么意思,可能是我语文不好吧,这次题目综合性强了点,都可以运用以前学的结构了,这周我有点不懂的是字符型变量,还是不太懂,第三题屡屡出错,需要运用到未学函数,但有些同学代码没用到,也能做出来的。伪代码还是写的不够到位,知识学习的太浅陋了,不够深入,有时会导致语句运用不符。我会继续加油朝目标前进的,最近有个想法看到抖音上的自制指纹锁有点心动,希望在大学中能自己制个。

  • 相关阅读:
    Selenium 3 + BrowserMobProxy 2.1.4 模拟浏览器访问 (含趟坑)
    macOS Sierra WiFi connecting problem
    Accumulator<Long> implements of JavaSparkContext in Spark1.x
    写了一个Android动画的启动界面
    用C#简单实现了数据的封装
    关于JAVA数据结构中的栈操作
    写了一个关于将XML文件导入数据库的程序(C#,sql server)
    经典电影里的数学应用
    初步学习多线程操作,代码不是完美的,欢迎大牛指点(运行通过)
    写了一份统计网站(ASP.NET)日访问量的源码(保存至数据库,部分性能待优化),运行通过。
  • 原文地址:https://www.cnblogs.com/490-85-00-58-/p/11863312.html
Copyright © 2020-2023  润新知