第一次作业
一、博客作业&PTA作业
[1]、pta分支结构 7-9 高速公路超速处罚
1、实验代码
1 #include<stdio.h> 2 int main() 3 { 4 int v,vm;//v运行速度,vm限速 5 double x; 6 7 scanf("%d%d",&v,&vm); 8 x = ((v-vm)*100.0/vm); 9 if(x<10&&x>0) 10 { 11 printf("OK\n"); 12 } 13 else if(x>=10&&x<=50) 14 { 15 printf("Exceed %.lf%%. Ticket 200\n",x); 16 } 17 else if(x>=50) 18 { 19 printf("Exceed %.lf%%. License Revoked\n",x); 20 } 21 return 0; 22 23 }
2、设计思路
(1)文字描述
第一步:定义此时的车速v 和此路段限速vm。
第二步:输入车速v 和限速vm,判断是否超速,若超速,则计算此时速度超出限速的百分比x。
第三步:将x分别和10%、50%进行比较。若50%>x>10% 则处200元罚款,若x>50%,则吊销驾驶证。
(2)流程图
3、错误提示
4、本题调试过程碰到问题及解决办法
(1)理解题意,构思并先预想思路。
(2)x值计算时要注意小数点后保留一位,确保精度。
[2]、pta循环1 7-1 统计学生平均成绩与及格人数
1、实验代码
1 #include<stdio.h> 2 int main() 3 { 4 int n,i,sum,count;//学生人数n,变量i,总成绩sum,及格人数count 5 double average;//平均成绩average 6 sum=0,count=0,average=0,i=0; 7 scanf("%d",&n); 8 int a[n]; 9 for(i=0;i<n;i++) 10 { 11 scanf("%d",&a[i]); 12 sum += a[i]; 13 if(a[i]>=60) 14 { 15 count++; 16 } 17 } 18 if(n==0)//考虑到没有学生的情况 19 { 20 printf("average = 0.0\n"); 21 } 22 else 23 { 24 average=1.0*sum/n;//乘以1.0是为了精度更高 25 printf("average = %.1f\n",average); 26 } 27 printf("count = %d",count); 28 return 0; 29 }
2、设计思路
(1)文字描述
第一步:定义学生人数n,变量i,总成绩sum,及格人数count,平均成绩average。
第二步:输入学生人数,输入每个学生的成绩。
第三步:如果成绩>60,则该学生及格,则count++。所有学生成绩相加再除以学生人数得到平均成绩。
(2)流程图
3、错误提示
4、本题调试过程碰到问题及解决办法
(1)理解题意,要想到多种情况,包括极端情况,例如人数较多但没有人及格的情况和没有学生有成绩的情况。
(2)考虑到平均成绩保留一位小数,因而考虑到平均成绩的精度,故而用double类型。
[3]、pta循环7-4 爬动的蠕虫
1、实验代码
1 #include<stdio.h> 2 int main() 3 { 4 int N,U,D,T,distance; 5 D<U; 6 N<=100; 7 T=0; 8 distance=0; 9 scanf("%d %d %d",&N,&U,&D); 10 do 11 { 12 T++; 13 if(T%2!=0) 14 { 15 distance += U; 16 } 17 else 18 { 19 distance -= D; 20 } 21 } while(distance<N); 22 23 printf("%d\n",T); 24 return 0; 25 }
2、设计思路
(1)文字描述
第一步:定义题内给的数据,理清本题思路。
第二步:了解虫子上爬和下落的规律,故可知当T为奇数时虫子上爬,当T为偶数时,虫子下落。
第三步:判断用哪种循环方式更适合此题。
(2)流程图
3、错误提示
4、本题调试过程碰到问题及解决办法
(1)做题前构思比较困难,不好想到虫子上下移动的规律,做题之前最好先在草稿上写出虫子的移动节奏。
(2)理解一个=号和==号的意义,多加练习,熟能生巧。
二、总结和学习进度条
1.总结这几周所学内容、遇到的问题以及解决方法
(1)所学内容:
这几周主要对if,for,while,do-while等循环语句、简单的分支结构和函数调用进行了学习和练习。
(2)遇到的问题及解决方法:
很多算法的题都需要思考,有的时候卡在一个坎上很难过去,这个时候我通常会向同学和学长求助,或者在网络上搜索c语言相关的题型进行分析和讨论,尽力解决并理解。
编程的代码有时很繁琐,细节处理不够到位。函数调用运用不够熟练,应勤向老师或会的同学咨询并加多练习。
2.点评分析
3.请用表格和折线图呈现你这几周的代码行数和时间、博客字数和时间、涉及的知识点。
周数 | 此周代码行数/行 | 码代码所用时长/h | 缩写博客字数/字 | 写博客所用时长/h | 所涉及的知识点 |
第 九 周 | 1800 | 6 | 0 | 0 | 分支结构,四则运算和循环的基本练习 |
第 十 周 | 2400 | 9 | 0 | 0 | 循环,函数的练习 |
第十一周 | 2800 | 14 | 0 | 0 | 循环,函数的练习 |
第十二周 | 2800 | 13 | 1000 | 4 | 循环,函数、函数调用的练习 |