博客作业01--顺序分支结构
0.展示PTA总分
1.本章学习总结
1.1 学习内容总结
- 学会了如何定义变量,int,float,double的选择,浮点型数据使用double更方便。
- 格式化输出与输入,使用scanf输出时一定加上&,我错了好几次了。
- ch=getchar() 只能读入一个字符,如果要输入多个字符,需要多次调用该函数,一般采用循环调用的方式char ch; for(i = 0; i <= 10; i++) ch = getcher()
- 驼峰命名法
- 浮点数一般不和0比较,因为存在浮点误差,当浮点数要和0比较时,与0.00000001做比。
- 计算机把1当成真,0当成假
-多种分支结需要根据情况来选择,如下
注意:else与离他最近的,没有与其他if匹配过的if匹配 - for循环语句
表达式一只执行一次,表达式二执行n+1次
1.2 本章学习体会
- 有的编程题刚开始很难受,但是不能在那空想,要去尝试一下,多错几次,最后对的那次会让人映像深刻。
- 学会VS的调试让我对独自编程有了更大的信心。
- 要学习如何将问题简单化。
- 这两周代码量在八百行以上。
2.PTA实验作业
2.1判断一个三位数是否为水仙花数
2.1.1 数据处理
- 数据表达:定义了一个数为N和它的个位十位百位,全为整型。
- 数据处理:做这题时还未学习循环结构,因此只能将所有的情况通过else if来处理。
2.1.2 代码截图
2.1.3 本题可扩展功能
现在可以用循环结构,switch,while语句来做这一题。
2.1.4 PTA提交列表及说明
- Q1:刚开始用两个条件将数的范围缩小在100到999之间,但是之后在用了两个条件竟然不够?
- A1:我真不知道为啥,但是再加上个else就搞定了。。
2.2 计算天数
2.2.1 数据处理
- 数据表达:定义了i,用来进行for循环,定义year,month,day来存放输入的数据,用sum来记录一共有几天。
- 数据处理:先将只有一月的分开,超过一月的进行for循环,for循环中再加入if else分支结构,若出现1,3,5,7,8,10,12,则sum加上31,若出现4,6,9,11则sum加上30,遇2先认为加上28,之后再加上day,最后判断该年份是否为闰年。
2.2.2 代码截图
2.2.3 本题可扩展功能
没想出来。。
2.2.4 PTA提交列表及说明
刚开始做这题毫无头绪,不知道闰年到底要怎么处理,后来问同学,就知道要把这种难处理的放最后,先处理大家都有的,以后做题目也要运用这样的思路。
2.3 三个数由小到大输出
2.2.1 数据处理
- 数据表达:题目要求x,y,z为整数,用int定义,因为可能需要要交换下x,y,z之间的值,所以定义一个变量用来暂时储存其他变量的数据。
- 数据处理:通过if的分支结构,一一比较两者之间的值,若不符合题意则将两者之间的值对调,这时需要一个新的无关变量item来暂时储存一个等会要用但现在要被更新的数据。
2.3.2 代码截图
2.3.3 本题可扩展功能
可以将需比较的量增加,比较四个五个甚至更多的数据,并且将之排序。
2.3.4 PTA提交列表及说明
从可以用一个变量储存另一个变量暂时不用但需要保存的数据得到了启发。
3.阅读代码
来自ACMaoj 1507
看不懂它想干嘛,但清楚该代码运用多层嵌套,是我现在的水平无法做到也较难理解的。