• 第六周作业


    一、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)你对目前老师的上课形式有什么意见或建议?

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

     
  • 相关阅读:
    【POJ1961 Period】【KMP】
    浅谈KMP算法
    【关于动态开点线段树】
    【POJ3349 Snowflake Snow Snowflakes】【Hash表】
    【NOI 2002 银河英雄传说】【带权并查集】
    路径问题
    group_concat函数详解
    MySQL中GROUP_CONCAT中排序
    怎么实现CSS限制字数,超出部份显示点点点.
    jsp去掉小数点
  • 原文地址:https://www.cnblogs.com/ycx3550213/p/7797582.html
Copyright © 2020-2023  润新知