2

c博客作业01--分支、顺序结构

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的调试)

Q1:为什么不定义个位十位百位,直接在if()内进行运算会出现编辑错误

A1:怎么说呢,这个问题我还是没有解决,但是,通过挨个进行定义,然后,就对了,所以,个人认为,可能是在一连串的运算中忽略了某个值,因此出现错误

2.3题目名:7-7 三个数由小到大输出

2.3.1数据处理

数据表达:整型int(x、y、z、t(t是中间过渡量)),根据题意而来;

数据处理:用if语句将其表达。

2.3.2代码截图

2.3.3本题可拓展功能

利用四则运算和数学函数,对x、y、z进行运算,使其变为其他值再进行比较;或者,将x、y、z改为随机数,由计算机出数;再或者将其中的一个改为随机数,在与其他两个数进行比较,再适当加入数学运算。

2.3.4PTA调试列表及说明

Q1:常出现编辑错误和答案部分正确

A1:提交列表中的这些错误,基本都是对于空格的处理,在vs中、vs中会出现scanf()的问题,应该是sdl为关。

3.阅读代码

题目:

代码:

优点及可学习的方面:

1.用上数组;

2.使用字符输入函数getchar()和putchar();

3.使用while语句以及while语句与if语句的嵌套;

4.if()中有变量和表达式;

5.用上了for循环语句。

posted @ 2019-10-07 19:55  1911-林威  阅读(274)  评论(3编辑  收藏  举报
复制代码