C语言第四次作业-嵌套作业
一.PTA实验作业
题目1:7-4 换硬币
1. 本题PTA提交列表

2.设计思路
- 第一:定义三个整型变量f,t,o,分别代表五分,两分,一分的数量
- 第二:输入待换金额x
- 第三:令f=x/5;t=x/2;o=x;(即各自等于它们有可能的最大值)
- 第四:进入for循环,先固定一个数如f,然后从大到小减小改变第二个数如t,每当t改变一次,o改变一轮,即从x到0;
- 第五:这样可以对所有可能出现的情况进行判断:在每个循环里当5f+2t+o)==x时,输出printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n",f,t,o,f+t+o);并换行
- 第六:在每一次输出结果时,令count--则可以统计换法数
- 第七:输出count
3.本题调试过程中碰到的问题以及解决方案
(1)
- 错误:答案错误,题目要求要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。而我恰巧相反从小到大
- 解决方案:改变for循环条件,如下图:


(2):
- 错误:部分错误,如下图一
(1)发现count=2,而程序运行只显示了一种换法,发现在判断改变变量f,t后,是否符合5f+2t+o)==x后没有输出语句,即f,t发生改变后得到的换法没有输出
(2)发现count的数量多一,发现算法包括o=0的情况 - 解决方案:
(1)在每一条判断语句后增加一条输出语句
(2)改变变量o的for循环条件



题目2: 7-7 歌唱比赛评分系统
1. 本题PTA提交列表

2.设计思路
- 第一,定义repeat=0,n=0,score,max,min,j=0,i=0,inter=0,分别表示评分的选手数量,评委数,分数,最高分,最低分,循环变量,中间存放变量
- 第二,输入repret
- 第三,令i=0,输入评委数,输入分数,令最大值等于输入的分数,
- 第四,再输入一个分数,如果大于之前的最大值,则令最大值等于它,最小值等于之前的最大值,
- 第五,否则令最小值等于它
- 第六,令j=0,再输入一个分数,
- 第七,如果分数大于最大值,则令中间变量inter等于最大值,最大值等于分数,分数等于中间值(即最大值与分数交换)j=j-1
- 第八,如果小于最小值,则进行第七一样的操作,使得最小值与分数交换,j=j-1
- 第九,分数总和total+=score
- 第十,重复步骤六,直到j>=n-2
- 第十一,输出total
3.本题调试过程中碰到的问题以及解决方案
(1)
- 错误:答案错误,没有考虑到repeat

- 解决方案“在输入repeat后f增加or(i=0;i<repeat;i++)循环
题目3: 7-6 猜算式?27?=3848中的数字(10 分)
算式:?27?=3848中缺少一个十位数和一个个位数。编程求出使该算式成立时的这两个数,并输出正确的算式。
1. 本题PTA提交列表

2.设计思路
- 一,算法定义三个变量A,B,C分别表示个位数十位数,和它们的乘积
- 二,如果(A10+2)(70+B)==3848,则输出结果,结束程序
- 三,如果没有则令A加一,B等于零,
- 四,在A的每一次改变时,B进行循环即从0到1进行判断
- 五,如果(A10+2)(70+B)==3848,则结束程序,如果没有则重复步骤三
- 六,令C等于((A10+2)(70+B)
- 七,输出"(%d*%d=%d",A,B,C)
3.本题调试过程中碰到的问题以及解决方案
当n=9时跳出循环

每一次A改变,B都进行一次从1到9的循环

当(A10+2)(70+B)==3848时跳出循环

二、同学代码结对互评
1.互评同学名称:王宵莹
2.我的代码、互评同学代码截图
- 我的代码

- 王宵莹的代码

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
- 总体看来,我与王宵莹的思路是一样的,都是让各个硬币的数量从可能的最大数进行循环减小直到符合条件结束输出
- (1)不同:
- 王宵莹:她主要采用了for循环语句
- 我:也是使用了for循环语句但是多了if语句进行判断
- (2)优势
- 王宵莹:更为简洁,代码行数只有我的一半。
- 我:思路条理更加清晰。
- (3)
我更喜欢王宵莹的代码风格,因为我们的思路是差不多的,但是她的要简洁的多。
三、截图本周题目集的PTA最后排名

四,本周的学习总结
1.你学会了什么?
-(1)学会了使用嵌套循环
-(2)有自己调了好几道题目,找到关于循环变量的问题,关于格式的问题,有时可能只是一个回车键
- (3)在不断的失败与再失败中学会了耐心
2.本周的内容你还不会什么?
-(1)还是不会用使用电脑的思维方式,一道题目要思考好久
-(2)嵌套循环的部分题目还不会,听完老师讲后我还是不会,比如7-3 编程打印空心字符菱形还有7-5 梅森数
-(3)对于函数的运用
3.你碰到什么困难,打算如何解决?
-(1)看到题目后无法找到入手点,往往调试了好几个小时都得不出正确的答案,或者调试了好久后改变思路从头再来
- 解决方案 :如果实在想不出思路,就上网百度或者向学长学姐请教,理解了正确的思路后自己再敲一遍代码
-(2)没有时间在电脑上做题
-解决方案 :看了题目后见缝插针地思考题目,在本子上记录下做题思路,回到宿舍后再在电脑上实验调试
- (3)有些之前的题目过段时间就不会做了
- 解决方案:对于之前的题目要注意复习,当然在做的时候就要认真做,留下印象,不要做无用功
C语言第四次作业-嵌套作业的更多相关文章
- C语言第四次博客作业--嵌套循环
一.PTA实验作业 题目1:编程打印空心字符菱形 1. 本题PTA提交列表 2. 设计思路(流程图) 3.本题调试过程碰到问题及解决办法 思考过程:将问题拆解为菱形问题和字母变化问题两部分 1> ...
- C语言第四次博客作业
一.PTA实验作业 题目1.梅森数 1.本题PTA提交列表(要提交列表,不是结果) 2. 设计思路(此处用流程图最好) 1.定义三个变量n,num,count,且初始化count为1 2.读取一个数n ...
- 网络1711班 C语言第四次作业批改总结
网络1711班 C语言第四次作业批改总结 助教有话说(写在前面) 近来,有同学跟老师和助教们反映:博客作业太多太麻烦,而且对编程能力提高似乎没什么帮助?在这里我要谈一谈我的感想. 博客作业的意义? 首 ...
- OO第四次博客作业!
oo第四次博客作业 一.测试与正确性论证比较 测试只是单方面片面的证明对于当前的输入程序是正确的,测试只能证明程序有错误,不能说明程序是对的. 正确性论证是程序达到预期目的的一般性陈述,是通过规范化的 ...
- OO第四单元博客作业
OO第四单元博客作业 BUAA_1706_HugeGun 目录 第四单元作业架构设计 四个单元架构设计及OO方法理解 四个单元测试理解与实践演进 课程收获 一点建议 第四单元作业架构设计 ### 第十 ...
- OO第四次博客作业--第四单元总结及课程总结
一.总结第四单元两次作业的架构设计 1.1 第一次作业 类图如下: 为了突出类.接口.方法.属性.和参数之间的层次结构关系,我为 Class 和 Interface 和 Operation 分别建立了 ...
- C语言程序设计基础-第1周作业-初步
1.安装带有计算机术语的翻译软件 2.在自己电脑上安装C编译器,windows系统建议安装dev-c++,其他系统自行查找. 3.加入课程小组,有任何疑问可以在小组中提问:https://group. ...
- 2017-2018-1 JaWorld 第四、五周作业
2017-2018-1 JaWorld 第四.五周作业 两周工作内容 小组讨论并确定最终的app雏形 合作完成需求说明书 工作分工 成员 分工 比例 陈是奇 1.引言 8% 马平川 2.1-2.5 产 ...
- 2017-2018-1 JAVA实验站 第四、五周作业
2017-2018-1 JAVA实验站 第四.五周作业 JAVA实验站小组成员 学号 名字 职务 20162318 张泰毓 组长 20162303 石亚鑫 组员 20162304 张浩林 组员 201 ...
随机推荐
- freemarker之数组(十八)
1.设计思路 (1)声明一个数组 (2)打印数组中的元素 2.设计源码 <#--freemarker数组--> <#assign nums=[12,34,56,78,90,54,23 ...
- 手机端仿ios的日期组件脚本一
二,代码 <script> var calendar1 = new LCalendar(); calendar1.init({ 'trigger': '#startDate', //标签i ...
- 浅谈MySQL的优化
平时在开发中大多在写业务逻辑,很少关注于底层sql的执行效率,大多能交给batis的mapper做的就交给它去做. 然而这些天越来越发现,大家还是很愿意手写sql的,往往一段业务逻辑,可以用稍微复杂一 ...
- JavaScript中的this的指代对象详解
在javascript里面,this是一个特殊的对象,它不像其他编程语言那样,是存储在实例中的值,直接指向此实例. 而是作为一个单独的指针,在不同的情况之下,指向不同的位置,这也是为什么我们会将它搞混 ...
- [BZOJ2296] [POJ Challenge] 随机种子
Description 1tthinking除了随机算法,其他什么都不会.但是他还是可以ac很多题目,他用的是什么呢?他会选择一个好的随机种子,然后输出答案.往往他选择的一个好的种子可以有99%的概率 ...
- Vue-自定义事件之—— 子组件修改父组件的值
如何利用自定义的事件,在子组件中修改父组件里边的值? 关键点记住:三个事件名字 步骤如下: 这里,相对本案例,父组件定义为Second-module,对应的子组件是Three-module 第一步:你 ...
- angular+ionic+cordova(实战项目开发中,持续更新自己学到的和遇到的)
最近公司开始准备做app了,大佬选择了angular+ionic+corvoda的开发结构,但是对于刚刚才开始对angular才有一点点感觉的我,就像是被一击闷棍敲了,半天没反应过来,emmm,怎么办 ...
- 在不同环境下MD5加密相同字符串,密文不一样的问题
这是昨天做一个接口对接时遇到的一个问题.下面是md5加密的算法 public static String md555(String plainText) throws UnsupportedEncod ...
- 【MyBatis源码分析】Configuration加载(下篇)
元素设置 继续MyBatis的Configuration加载源码分析: private void parseConfiguration(XNode root) { try { Properties s ...
- 【Spring源码分析】非懒加载的单例Bean初始化过程(下篇)
doCreateBean方法 上文[Spring源码分析]非懒加载的单例Bean初始化过程(上篇),分析了单例的Bean初始化流程,并跟踪代码进入了主流程,看到了Bean是如何被实例化出来的.先贴一下 ...