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有点难啊,有的不知道题目什么意思,可能是我语文不好吧,这次题目综合性强了点,都可以运用以前学的结构了,这周我有点不懂的是字符型变量,还是不太懂,第三题屡屡出错,需要运用到未学函数,但有些同学代码没用到,也能做出来的。伪代码还是写的不够到位,知识学习的太浅陋了,不够深入,有时会导致语句运用不符。我会继续加油朝目标前进的,最近有个想法看到抖音上的自制指纹锁有点心动,希望在大学中能自己制个。

原文地址:https://www.cnblogs.com/490-85-00-58-/p/11863312.html