C博客作业01--顺序分支结构
0.展示PTA总分
1.本章学习总结
1.1 学习内容总结
- 分支结构
使用if-else-if语句简化代码,把if-else-if语句与switch循环做了一个比较区别二者相同点和不同点。
学习到一个新的变量,字符型变量char,并且使用该变量写了一道简单的四则运算题。 - 循环结构
新的循环语句while,do-while,两者有细微区别。while循环时,如不满足条件则不进入循环;do-while循环时,至少进去循环一次即先完成do的内容在来判断是否满足while的条件。 while里面的条件是循环的条件而非跳出循环的条件。
break语句强制循环结束即跳出该循环到循环外的下一条语句,且还可用于switch语句;continue语句是跳出其后面的语句但是不结束循环。 - 课堂拓展
驼峰命名法
浮点数一般不和0比较,因为存在浮点误差。当一个浮点数要和0比较时,让其与0.00000001做比。 - 易忽略的知识点
使用数学函数时,调用头文件math.h
程序运行时,输入的多个数据之间必有间隔
计算机把真当作1,把假当作0
=为赋值,==才是等于
1.2 本章学习体会
- 课程任务繁重,心理压力很大,但是每次写完代码通过后又很有成就感。痛并快乐着。
- 老师后面在PTA上布置的少部分题目超前有点多,我有些做不来,比如那道二进制转十进制的题目,因为长度限制,数据溢出要使用字符读数据。
- 代码量为2000多行。
2.PTA实验作业
2.1 题目名1--单循环结构-7-10
2.1.1 数据处理
- 数据表达:sum 使用的是long long变量类型 用来储存二进制转十进制的数字总和;C 字符型变量 用来一个一个的读取输入的数字 ;flag 常量型 用来判断该数字是否满足二进制。
- 数据处理:
表达式:sum=sum*2+c-'0' flag=1(满足二进制的数字) flag=0(不满足二进制的数字)
流程结构:定义sum=0,flag=1,字符C ;后C读取输入数字的每一位,如果其中有一位是1或者0,进行if当中的语句继续读取下一位数字;如果读取空格,也跳出循环;否则,令flag=0,跳出循环。
2.1.2 代码截图
2.1.3本题扩展功能
- 使用sum函数要计算每一位转化为十进制对应数字相加之后的总和
- 利用数组解答
2.1.4 PTA提交列表及说明
- 第一次提交提示多个1答案错误,就把double类型的sum改为了long long。
- 第二次提交仍是多个1过不了,就向班助求助她告诉我要使用字符串读数。
2.2 题目名2--单循环结构-7-5
2.2.1 数据处理
- 数据表达:i 整型变量 用来从1到输入的n做循环;n 整型变量 输入n个人的身高 计算其相对应的身高差;height 实数变量 储存输入的身高;heightdiffenrence 实数变量 储存不同性别所对应的身高差;ch 字符型变量 输入该身高对应的性别。
- 数据处理:
表达式:计算女生对应男生的身高差 heightdifference = height * 1.09; 计算男生对应女生的身高差 difference = height / 1.09;
流程结构:输入要计算的人数个数,后输入性格和身高;判断该输入的身高是男生还是女生,如果是男生进入 else语句 difference = height / 1.09;否则进入if语句 heightdifference = height * 1.09; 当输入的个数超过n时 结束循环。
2.2.2 代码截图
2.2.3 本题可扩展功能
- 使用字符串读取数据可以简化代码
- 利用数组的方法解答
2.2.4 PTA提交列表及说明
- 分支结构里面的printf语句后忘记加;
- 输入的n的后面加的是\n
- 输出的身高差后面也是\n
- 经过向班助请教他们教我用getchar()代替掉空格
- 输入输出后都是getchar()
2.3 题目名3-选择结构-7-7
2.3.1 数据处理
- 数据表达:a,b,c 均为整型变量 用来输入三个数字
- 数据处理:
表达式:a>b&&b>c,a>c&&c>b,b>c&&c>a,b>a&&a>c,c>a&&a>b
流程结构:依次判断三个数字的大小,每种情况都列举一遍。
2.3.2 代码截图
2.3.3 本题可扩展功能
- 先把a,b进行比较,确保a是两数中较大的数字;再让a,c比较,让a是两数中较大的数字;再让b,c比较让b为两数中较大的数字;最后只有一个输出语句。
2.3.4 PTA提交列表及说明
- 第一次scanf语句没加&。
- 第二次输出是从小到大输出没按照题目要求。
3.阅读代码
-
ACM题解网-POJ2774
题目内容:利用公钥加密算法 ,给出密文c和公钥{e,n},找到明文m
代码优点:代码要表达不同意思时分段,可读性增强,便于阅读;源代码清晰明了;符号和变量间隔合理,做到清晰整洁;采用驼峰命名法;文件目录清晰合理,相关内容做到合理的分门归类