C语言I博客作业08

问题 答案
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/9982
我在这个课程的目标是 学习使用while和do-while结构解题
这个作业在那个具体方面帮助我实现目标 主要在写循环编程题之类的
参考文献 C语言程序设计

1.PTA实验作业

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

输入格式:

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

输出格式:

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

输入样例:

321

输出样例:

3 6

1.1.1 数据处理

  • 数据表达:使用了整形变量n, count, sum三个变量。
  • 数据处理:数据使用的表达式:sum+=n%10;n/=10;count++;结构式:while循环语句。
  • 伪代码:定义变量;while语句(条件;输出N的位数及其各位数字之和;两个输出值中间用一个空格隔开;返回0。

1.1.2 实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
321 3 6 位数为3 各位数字之和为6
6789 4 30 位数为4 各位数字之和为30
333999 6 36 位数为6 各位数字之和为36
985211 6 21 位数为6 各位数字之和为21

1.1.4 PTA提交列表及说明

  • Q1:看到运行超时有点懵,还没有遇到过这种情况;
  • A1:仔细发现是count与sum关系没有写明白。

1.2 题目2:在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:

按从1至5报数,记下最末一个士兵报的数为1;
再按从1至6报数,记下最末一个士兵报的数为5;
再按从1至7报数,记下最末一个士兵报的数为4;
最后按从1至11报数,最末一个士兵报的数为10;

请编写程序计算韩信至少有多少兵。

1.2.1 数据处理

  • 数据表达:使用了整形变量i,控制循环。
  • 数据处理:数据用到的表达式:(i%51)&&(i%65)&&(i%74)&&(i%1110)和流程结构:使用for语句。
  • 伪代码:定义变量i,使用for循环查看循环次数,使用for语句,输出循环次数,返回0。

1.2.2 实验代码截图

1.2.3 造测试数据

输入格式:

本题无输入

输出格式:

输出韩信至少拥有的士兵人数。

1.2.4 PTA提交列表及说明


本题的难点在于将变量i的循环满足题目的要求,如果写明白就可以到得到正确答案,即(i%51)&&(i%65)&&(i%74)&&(i%1110)。

2.代码互评

同学代码截图

(来自软件三班童英俊同学的代码)

自己代码截图


代码比较

  • 不同点:他使用四个整形变量,我使用五个变量,有所不同。
  • 相同点:都使用了if与while语句,以及break语句。

同学代码截图

(来自软件三班李志玉同学的代码)

自己代码截图


代码比较

  • 不同点:她使用了digits变量,与我的变量不同。
  • 相同点:使用的语法大致相同,都使用了while语句。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周 四个小时 40行 初步接触编程与c语言,在电脑上显示Hello World 对所有编程的事物都很懵
第二周 十二个小时 65行 了解MinGW-w64安装教程并完成了GCC编译器的安装,并用 MinGW-w64 来编译 C程序 不是很熟练地掌握安装和编译
第三周 十五个小时 100行 练习对表格的使用和PTA里的题目,对编程开始提高速度和准确性 有些难的编程题目是真的很难做动
10.14~10.20 20小时 150行 学习指定次数的循环程序设计,以及power的用法 循环程序的题型很多,有些也比较复杂,不是很容易理解
10.20~10.27 20小时 180行 能模仿编程,认识函数,编辑思维导图 用C语言编写程序生成乘方表与阶乘表没有很掌握好
第十周 32小时 526行 多分支结构、字符型数据类型和逻辑运算符 循环类的题目没有完全掌握
第十一周 40小时 760行 学会用switch语句 对于break语句的一般的三种使用方法没有运会得当
第十二周 42小时 805行 使用while和do-while结构解决问题 对新学习的循环语句没有掌握好

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

这周又学习了两种新的循环语句,编程题目的难度也随着慢慢加大,其实有很多的语法没有弄明白;较上周比较,我完成作业的效率提上来了,态度也变得积极起来,现在的空余时间变得越来越少,感觉自己学到现在还是比较差的,每次上课跟着老师的节奏还是比较费力的,希望自己能在预习上多下功夫,毕竟我可不想挂科啊。

posted @ 2019-11-15 19:27  温茶  阅读(307)  评论(1)    收藏  举报