第一次作业

一、博客作业&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 循环,函数、函数调用的练习

 

 

 

posted @ 2018-11-27 22:30  王铁柱666  阅读(266)  评论(7编辑  收藏  举报