一.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 分)

算式:?2
7?=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语言第四次作业-嵌套作业的更多相关文章

  1. C语言第四次博客作业--嵌套循环

    一.PTA实验作业 题目1:编程打印空心字符菱形 1. 本题PTA提交列表 2. 设计思路(流程图) 3.本题调试过程碰到问题及解决办法 思考过程:将问题拆解为菱形问题和字母变化问题两部分 1> ...

  2. C语言第四次博客作业

    一.PTA实验作业 题目1.梅森数 1.本题PTA提交列表(要提交列表,不是结果) 2. 设计思路(此处用流程图最好) 1.定义三个变量n,num,count,且初始化count为1 2.读取一个数n ...

  3. 网络1711班 C语言第四次作业批改总结

    网络1711班 C语言第四次作业批改总结 助教有话说(写在前面) 近来,有同学跟老师和助教们反映:博客作业太多太麻烦,而且对编程能力提高似乎没什么帮助?在这里我要谈一谈我的感想. 博客作业的意义? 首 ...

  4. OO第四次博客作业!

    oo第四次博客作业 一.测试与正确性论证比较 测试只是单方面片面的证明对于当前的输入程序是正确的,测试只能证明程序有错误,不能说明程序是对的. 正确性论证是程序达到预期目的的一般性陈述,是通过规范化的 ...

  5. OO第四单元博客作业

    OO第四单元博客作业 BUAA_1706_HugeGun 目录 第四单元作业架构设计 四个单元架构设计及OO方法理解 四个单元测试理解与实践演进 课程收获 一点建议 第四单元作业架构设计 ### 第十 ...

  6. OO第四次博客作业--第四单元总结及课程总结

    一.总结第四单元两次作业的架构设计 1.1 第一次作业 类图如下: 为了突出类.接口.方法.属性.和参数之间的层次结构关系,我为 Class 和 Interface 和 Operation 分别建立了 ...

  7. C语言程序设计基础-第1周作业-初步

    1.安装带有计算机术语的翻译软件 2.在自己电脑上安装C编译器,windows系统建议安装dev-c++,其他系统自行查找. 3.加入课程小组,有任何疑问可以在小组中提问:https://group. ...

  8. 2017-2018-1 JaWorld 第四、五周作业

    2017-2018-1 JaWorld 第四.五周作业 两周工作内容 小组讨论并确定最终的app雏形 合作完成需求说明书 工作分工 成员 分工 比例 陈是奇 1.引言 8% 马平川 2.1-2.5 产 ...

  9. 2017-2018-1 JAVA实验站 第四、五周作业

    2017-2018-1 JAVA实验站 第四.五周作业 JAVA实验站小组成员 学号 名字 职务 20162318 张泰毓 组长 20162303 石亚鑫 组员 20162304 张浩林 组员 201 ...

随机推荐

  1. h264多slice

    1, h264编码以macroblock为最小单位(简称MB),多个连续的MB组成一个slice,每个slice编码输出一个NALU 2, 划分slice的方式可以按照固定个数MB的方式: 也可以以对 ...

  2. class-决策树Decision Tree

    顾名思义,决策树model是树形结构,在分类中,表示基于特征对实例进行分类的过程.可以认为是"if-else"的合集,也可以认为是特征空间,类空间上条件概率分布.主要优点是分类速度 ...

  3. 让你的微信小程序具有在线支付功能

    前言 最近需要在微信小程序中用到在线支付功能,于是看了一下官方的文档,发现要在小程序里实现微信支付还是很方便的,如果你以前开发过服务号下的微信支付,那么你会发现其实小程序里的微信支付和服务号里的开发过 ...

  4. 利用shell脚本实现对mysql数据库的备份

    #!/bin/bash #保存备份个数 number=3 #备份保存路径 backup_dir=/root/mysqlbackup #日期 dd=`date +%Y%m%d` #备份工具 tool=m ...

  5. js 数组去重常见的几种方式

    1.利用标记 var arr = [2,6,2,6,4,3,16];// arr = [2,6,4,3,16] function norepeat(arr){ var res = []; for(va ...

  6. 【BZOJ2037】Sue的小球(动态规划)

    [BZOJ2037]Sue的小球(动态规划) 题面 BZOJ 题解 莫名想到这道题目 很明显是一样的 设\(f[i][j][0/1]\)表示已经接到了\(i-j\)这一段的小球 当前在\(i\)或者在 ...

  7. java ---日期的格式化

    import java.util.Date; import java.util.Scanner; import java.text.SimpleDateFormat; import java.util ...

  8. js常见算法(一)

    1.每个单词手字母大写 var capitalizeEveryWord = str => str.replace(/\b[a-z]/g, char => char.toUpperCase( ...

  9. 《Java2 实用教程(第五版)》学习指导

    <Java2 实用教程(第五版)> 第1章Java入门 主要内容:P1 1.1Java的地位:P1 1.2Java的特点:P2 1.3安装JDK:P5 1.4Java程序的开发步骤:P8 ...

  10. 安装Accumulo——突破自己,就是成长

    前言 在我刚开始接触分布式集群的时候,是自己在几台虚拟机中手动安装的 Hadoop 和 Spark ,所以当时对 Hadoop 的配置有个简单的印象 ,但是后面发现了 Cloudera 和 Ambar ...