第六周作业

一、PTA作业

题目7-1 高速公路超速处罚

1.实验代码

#include <stdio.h>
int main()
{
    int a,b;
    double c;
    scanf("%d %d",&a,&b);
    c=(double)(a-b)*100/(double)b;
    if(c<10||a<b)
    printf("OK");
    else if(c<50)
    printf("Exceed %.0f%%. Ticket 200",c);
    else
    printf("Exceed %.0f%%. License Revoked",c);
    return 0;
}

2 设计思路

(1)文字描述

第一步:理解题意 把情况分类讨论:1 正常情况下或车速小于10%*限速 2 超速10%~50%之间罚款200元 3  超速50%及50%以上吊销驾驶证
第二步:打出框架  定义 并将三类情况分别用if else 等语句列出

第三步:编译运行,错误修改。

(2)流程图

 

3.本题调试过程碰到问题及解决办法

错误提示的截图

 

 

问题及解决办法:输出百分号后不知道打什么,后来百度得解决。知%%是指输出一个百分号,然后粗心大意输出逗号后的变量打错了。问题已经解决。

4.本题PTA提交列表

 

错误提示解释说明:

前面是百分号和变量出错,doubt打错一个字母,最后一次部分出错是由于少打了一个单词。

题目7-2  计算邮费

1.实验代码

#include <stdio.h>
int main ()
{
    int a,b;
    char x;
    double y;
    scanf("%d %d %c",&a,&b,&x);
    switch(b)
{
    case 90:
    y=a*6.95;break;
    case 93:
    y=a*7.44;break;
    case 97:
    y=a*7.93;break;
    default:
            break;

}
    if(x=='m')
    y=y*0.95;
    if(x=='e')
    y=y*0.97;
    printf("%.2f",y);
    return 0;
}

2 设计思路

1)文字描述

第一步:理解题意 设出单位a,型号b,服务类别x以及花费y 
第二步:打出框架  分类讨论 运用分步法进行排列组合 

第三步:编译运行,错误修正

(2)流程图

 

3.本题调试过程碰到问题及解决办法

错误提示的截图

 

 

问题及解决办法:在本题中,我发现了我有一个很重大的问题,就是写代码是,会把自己定义的变量忘记了,比如我定义的是x,y,写到一半却认为是c,t,结果导致了很多不必要的,麻烦。其次原先没有打default:break;是在看别人打后自己百度得知,该语句意思为没有case中的情况则如此执行。

4.本题PTA提交列表


            

 

题目7-3  比较大小

1.实验代码

#include <stdio.h>
int main ()
{
    int a,b,c,d;
    scanf("%d %d %d",&a,&b,&c);
    if(a>b){
      d=a;
      a=b;
      b=d;}
    if(a>c){
      d=a;
      a=c;
      c=d;}
    if(b>c){
      d=b;
      b=c;
      c=d;}
    printf("%d->%d->%d",a,b,c);
    return 0;  
}

2 设计思路

1)文字描述

第一步:理解题目,寻找一个媒介,作为替换的中间函数值
第二步:三个变量分批进行替换,使小的数向前移动

第三步:编译运行,修正错误

(2)流程图

3.本题调试过程碰到问题及解决办法

错误提示的截图

问题及解决办法:由于这题上课做过不止一次,所以没有出现问题

4.本题PTA提交列表

题目7-4   两个数的简单计算器

1.实验代码

#include <stdio.h>
int main(){
    int a,b;
    char operate;
    scanf("%d %c %d",&a,&operate,&b);
    switch(operate)
{
    case '+':printf("%d",a+b);break;
    case '-':printf("%d",a-b);break;
    case '*':printf("%d",a*b);break;
    case '/':printf("%d",a/b);break;
    case '%':printf("%d",a%b);break;
    default:
    printf("ERROR");
}
    return 0;
}

2 设计思路

1)文字描述

第一步:理解题意,一开始蒙了,没理解明白,后来看了一下同学的
第二步:分类讨论,表示出多种情况

第三步:编译运行,修正错误

(2)流程图

3.本题调试过程碰到问题及解决办法

错误提示的截图

 

 

问题及解决办法:一开始是第一次对了,然后发现忘记b!=0了,修改了一直出现错误,目前问题没有解决,最后改回原来的方法。

4.本题PTA提交列表

要求三

地址:https://git.coding.net/ycx1165012154/test.git

表格:

  代码行数 时间 博客字数 时间
11.05 0 0 0 0
11.06 0 0 0 0
11.07 200 180min 700 150min

 折线图:

注:一天完成。

要求四

个人总结
(1)本周你学习了哪些内容?收获了什么?

答;本周复习了 if else,纠正了流程图中的问题 ,学习了switch结构,初步了解了循环结构
(2)本周所学内容中你觉得哪些是难点?有哪些知识点还不明白? 

答:我认为制作流程图是难点,流程图画不明白,比如switch
(3)你对目前老师的上课形式有什么意见或建议?

我觉得我们敲代码前老师可以先示范一遍或者是课上我们先做一遍,有个先入为主的印象,这样课后不会花太多时间纠结。

 

 

 

 

 

 
posted @ 2017-11-07 10:03  乌拉啦啦啦  阅读(211)  评论(6编辑  收藏  举报