0.展示PTA总分。
1.0本章学习总结。
1.1学习内容总结
1.计算分段函数(做判断),需要使用if-else,配合六种双目运算符;
2.在程序代码中,适当采用缩进的书写格式,使程序结构清晰;
3.在程序中加入适当的输入提示;
4.在调用scanf()函数输入多个数据时,需要多个输入参数和格式控制说明,且需要一一对应;
5.在输入格式控制说明中,可加宽度限定词,指定数据的输出宽度。如:整型数据的输入格式控制说明%md,指定数据输出宽度为m(包括符号位);
6.如果循环体语句由多条语句组成,必须用大括号括起来,变成一条复合语句;
7.在多分支中经常使用if语句的嵌套;
8.运算符为字符型,字符型在定义时用类型名char,函数getchar()和函数putchar()只能处理单个字符的输入和输出;
9.三种逻辑运算符:逻辑非!,逻辑与&&,逻辑或||;
10.在switch语句中,表达式和常量表达式的值一般为整型或字符型,default可以省略,但需要break语句终止switch语句的继续执行或者switch语句一直执行到结束;
11.else和if的匹配准则:else与最靠近它的、没有与别的else匹配过的if相匹配;
12.有符号位 int 的范围是 -2147483648—2147483647,无符号位 int 的范围是 0—4294967295,能实现部分 10 位自幂数的计算。使用高精度计算,可以得到超过 int 类型上限的自幂数。
1.2本章学习体会
1.学习之路依旧漫长;
2.搞不懂为什么时常会出现这种情况: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &N);
^~~~~~~~~~~~~~~
3.这两周的代码量大约在1700行左右,与预期相差甚大,必须努力了。
2.PTA实验作业
**2.1题目名:7-6 出租车计价 **
2.1.1数据处理
数据表达:用到了整型int(x用于过渡)和双精度浮点型double(distance、wait、price);
数据处理:利用数学函数写出表达式,再通过表达式写出含有if-else的运算过程。
2.1.2代码截图
2.1.3本题可拓展功能
在不同时间段的起步价和其他收费标准不同,比如说:在上下班高峰期,时间收费方面下调或上涨一定幅度,起步价上涨,存在跨时间段的载客(比如乘客上车时是上下班高峰期,在途中过了上下班高峰期,在这个跨时间段期间,收费标准发生变化)。
2.1.4PTA调试列表及说明
(PTA的列表虽然是一次过的,但是,这是在vs中调试几遍过后才得到的。)
Q1:老是出现编辑错误
A1:后来发现是逻辑与的使用错误,比如:distance>3&&distance<=10,总是习惯性的写成3<distance<=10(感觉被数学带坏了)
Q2:改完逻辑与之后就又出现了答案错误,一脸懵,反复看了几遍代码,感觉没有错误
A2:之后就在群里看到了有人在问这个问题,然后就有人指出需要把printf()中的“%lf”改为“%.0f”,然后,这个问题就这么愉快地解决了
2.2题目名:7-12 判断一个三位数是否为水仙花数
2.2.1数据处理
数据表达:只用到了整型int(N、B、T、H),根据英译汉的首字母进行定义;
数据处理:挨个将N的个位、十位、百位提取出来,然后,进行编译。
2.2.2代码截图
2.2.3本题可拓展功能
1.简易拓展:把三次方改为其他(比如根号,或者进行不同的运算);
2.模仿课本内的随机数原理,将代码改为由计算机出一组随机数,然后进行判断。
2.2.4PTA调试列表及说明
(该题老师课上有进行简略说明,再经过vs的调试)