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

0.展示PTA总分(0----2)


1.本章学习总结(2分)

1.1 学习内容总结

1.学习程序的基本框架

int main()
{
********;
return 0;
}```//程序的基础结构

2.学习程序的基础语法

  • #include<stdio.h>//编译预处理命令
  • int main(void)//定义主函数main()
  • printf("****",n);//调用printf()函数输出文字
  • scanf("%*",&n);//调用scanf()函数输入文字
  • int(double,float,char) a;//定义变量类型为整数(浮点数,字符)的变量a
  • a=100;//将整数100赋值给变量a
  • return 0;//返回一个整数0

3.学习程序的基本运算符

  • + - * / //双目算术运算符
  • < <= > >= == != //关系运算符
  • ! && || //逻辑运算符

4.学习程序的基础语句

  • if-else 语句

  • else-if 语句

  • switch 语句 //基础分支判断语句

  • for语句

  • while语句

  • do-while语句 //基础循环结构语句

5.学习程序常用的数学函数

  • sqrt(x):计算√x。例如:sqrt(4.0)=2.0。
  • fabs(x):计算|x|。例如:fabs(-7.3)=7.3。
  • pow(x,n):计算xⁿ。例如:pow(2,4)=16。
  • exp(x):计算e^x。例如:exp(2.3)=9.974182.
  • log(x):计算lnx。例如:log(123.45)=4.815836.

6.学习程序的分支结构

  • 二分支结构:if-else 语句//常用,switch 语句
  • 多分支结构:if-else 语句,else-if 语句//常用,switch 语句//常用

7.学习程序语法的基本应用

  • 在屏幕上显示Hello World!//printf()函数的应用
  • 求华氏温度100°F对应的摄氏温度//赋值及关系运算表达式的应用
  • 计算分段函数//if-else 语句的应用
  • 输出华氏—摄氏温度转换表//if-else判断语句及for循环语句的应用
  • 生成乘方表与阶乘表//for循环语句和pow()函数的应用
  • 简单的猜数游戏//if-else判断语句嵌套应用
  • 查询自动售货机中商品的价格//for循环语句,if判断语句及switch循环语句的应用

1.2 本章学习体会

  • 经过半个月对C语言的学习,我发现C语言知识考察的是一个人的逻辑思维能力和调节判断能力。
  • 只要能够用心学习,将自己的精力投入进去,C语言其实并不难。同时,经过了这么多节课程,我发现课前预习是相当重要的,它能够决定你这节课是否能够更好地更熟练地掌握,以及是否能够熟练地应用知识点。
  • 总而言之,我发现C语言是一门很有趣的学科,只要有兴趣,有耐心,就一定能够取得优异的成绩。
  • 两周的代码量统计如下:
PTA题集 c01-顺序结构练习 c02-选择结构 c03-单循环结构 总计
代码量 145 283 517 945

2.PTA实验作业(6分)

2.1 题目名1

7-11 4-5考研录取情况 (15 分)

2.1.1 数据处理

数据表达:使用了整数变量math, english, politics, speciality, sum,变量math, english, politics, speciality, sum来自于题目中数学,英语,政治,专业课成绩及总分的要求。
数据处理:
定义整数变量math, english, politics, speciality, sum。
→输入四个值并分别赋值给math, english, politics, speciality, sum。
→使用表达式"sum = math + english + politics + speciality;"计算sum的值。
→应用else-if语句判断该考生的录取情况。
→当"math > 85 && speciality > 85 && english > 55 && politics > 55 && sum >= 370"时,则输出该考生为公费生;
→当"math > 85 && speciality > 85 && english > 55 && politics > 55 && sum >= 305 && sum < 370"时,则输出该考生为自费生;
→当以上两种条件都不成立时,即该考生成绩不足以录取时,则输出该考生未录取。

2.1.2 代码截图

2.1.3 本题可扩展功能

在输出考生录取情况的同时,输出该考生超出(低于)录取分数线的分值,即在"printf("A");"和"printf("B");"后面添加语句"printf("超过分数线%d分",sum-305);",在"printf("C");"后面添加语句"printf("低于分数线%d分",305-sum);"即可。

2.1.4 PTA提交列表及说明


Q1:"int main"后面忘记加"()"。

2.2 题目名2

7-12 判断一个三位数是否为水仙花数 (15 分)

2.2.1 数据处理

数据表达:使用了整数变量N,digit,ten,hundred,变量N来自于题目要求,变量digit,ten,hundred来自于题目中个位,十位,百位的要求。
数据处理:
定义整数变量N,digit,ten,hundred。
→输入一个值并赋值给N
→分别使用表达式"N%10,(N/10)%10,N/100"求出N的个位,十位和百位
→应用if-else语句对"N>99&&N<1000"进行判断,判断该数是否为四位数。
→如果该数为四位数,则进一步运用if-else语句对"N==pow(digit,3)+pow(ten,3)+pow(hundred,3)"判断该数是否为水仙花数,是,则输出YES,不是,则输出NO;
→如果该数不为四位数,则输出'Invalid Value!"。

2.2.2 代码截图

2.2.3 本题可扩展功能

在判断一个数是否为水仙花数的同时亦可以使代码输出所有的水仙花数,删去"printf("Yes");"并替换为语句"printf("%d",N);"即可。

2.2.4 PTA提交列表及说明

  • Q1:scanf语句后面的括号中在变量前忘记加"&"符号。
  • Q2:for语句后面的括号中变量相等的判断只用了一个"="。

2.3 题目名3

龟兔赛跑 (20 分)

2.3.1 数据处理

数据表达:使用了整数变量rab_m,rab_time,tur_m,time,变量time来自于题目要求,变量rab_m,rab_time,tur_m来自于题目中兔子路程,兔子经历的时间,乌龟路程的要求。
数据处理:
定义整数变量rab_m,rab_time,tur_m,time。
→输入一个值并赋值给time应用for循环语句对兔子经历的时间不断地进行增加。
→在循环中,当"rab_time > 0"时,使用表达式"rab_m += 9;tur_m = 3*i;"对二者的路程进行增加;
→当"(rab_time == 10)&&(rab_m > tur_m)"时,兔子将停下来休息,则使用表达式" rab_time =-30;"对兔子经历的时间进行调整;
→当"(rab_time == 10)&&(rab_m <= tur_m)"时,兔子将继续前进,则使用表达式" rab_time = 0;"对兔子经历的时间进行调整。

→当"rab_m > tur_m"时,则输出兔子顺利及兔子所经过的路程;
→当"tur_m > rab_m"时,则输出乌龟胜利及乌龟所经过的路程;
→当以上两种条件都不成立时,即乌龟和兔子平局时,输出二者平局及二者所经过的路程。

2.3.2 代码截图

2.3.3 本题可扩展功能

在输出比赛结果的同时,可以输出二者的路程差,即在非平局的结果后面添加语句"printf("二者的路程差为%d",rab_m-tur_m)"或"printf("二者的路程差为%d",tur_m-rab_m)"即可。

2.3.4 PTA提交列表及说明

  • Q1:scanf语句后面的括号中在变量前忘记加&符号。

3.阅读代码(-2--2分)

代码题目截图:

代码内容截图:

代码功能:
判断一组不同长度的棍子,把它们端接起来是否能形成正方形。
代码优点及值得学习的地方:

  • 解题思路清晰,各流程顺序分明。
  • 巧妙运用各方面知识点,将判断语句,循环语句和数组结合应用,使代码具有良好的可读性
posted @ 2019-10-07 19:35  BaiYi#  阅读(296)  评论(3编辑  收藏  举报