第六周作业

要求二

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

1.实验代码

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

2.设计思路

第一步:定义整型变量a,b,并用精度更高的double定义x。

第二步:scanf输入变量,打出x的计算公式。

第三步:条件语句判断x,根据判断输出或执行下一步。

第四步:重复第三步。

第五步:输出并结束。

流程图:

3.本题调试过程中遇到的问题及解决方法

问题1:思路有问题,我一开始是用超速比例的计算式去和规定的超速比例范围进行比较。

解决方法:咨询同学后,重新整理了思路,先计算出超速比例再去和规定的超速比例范围比较。

问题2:最后输出少打了两个空格,在编译器中是正确的,在pta中是部分正确,不符合题意。

解决方法:又读了好几遍题,提交了好几次,最后在同学的帮助下找到了错误。

4.本题提交列表

题目7-2 计算油费

1.实验代码

#include <stdio.h>
int main()
{
    int a,b;
    char c;
    double x;
    scanf("%d %d %c",&a,&b,&c);
    if(b==90)
    {
        if(c=='m')
        x=6.95*0.95*a;
        else
        x=6.95*0.97*a;
    }
    else if(b==93)
    {
        if(c=='m')
        x=7.44*0.95*a;
        else
        x=7.44*0.97*a;
    }
    else
    {
        if(c=='m')
        x=7.93*0.95*a;
        else
        x=7.93*0.97*a;
    }
    printf("%.2f
",x);
    return 0;
 } 

2.设计思路

第一步:定义整型变量a,b,char定义字符型变量c,double定义双精度型变量x。

第二步:scanf输入变量的值。

第三步:条件语句判断是什么种类汽油。

第四步:再用条件语句判断是什么服务类型。

第五步:根据判断结果进行相应的运算。

第六步:输出并结束。

流程图:

3.本题调试过程中遇到的问题及解决方法

此题没有遇到问题。

4.本题提交列表

题目7-3 比较大小

1.实验代码

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

2.设计思路

第一步:定义整型变量a,b,c,t。

第二步:scanf输入变量abc的值。

第三步:条件语句分别判断ab,ac,bc的大小。

第四步:根据判断结果交换变量的值。

第五步:根据题意输出从小到大的顺序并结束。

流程图:

3.本题调试过程中遇到的问题及解决方法

老师在课堂上讲过本题,所以没有问题。

4.本题提交列表

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

1.实验代码

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

2.设计思路

第一步:定义整型变量num1,num2,char定义字符型变量ch。

第二步:scanf输入变量的值。

第三步:通过switch开关控制语句执行运算。

第四步:根据运算结果输出并结束。

流程图:

3.本题调试过程中遇到的问题及解决方法

问题:刚看到本题时思路不是很清晰。

解决方法:把题目复制到百度中搜索,思路和代码就都出来了。

4.本题提交列表

要求三

coding.net上传文件截图

git地址https://git.coding.net/yaoshuang/yaoshuang0.git

要求四

个人总结

1.通过本周的学习,继续强化了浮点数型变量、双精度型变量的定义和条件语句,也学会了char定义字符型变量、变量之间的交换、switch开关控制语句。

2.个人觉得switch开关控制语句是本周的难点,并没有完全理解,是我还没学习透彻的知识点。

3.课上老师一直让同学们自己写程序,这样很好,让学生记忆深刻,不过写完老师只是给出答案并讲解而已,我觉得老师边写程序边讲解同学们理解得会更清晰;作业方面的建议已经在群里提过了。

要求五

1.我点评的博客

 www.cnblogs.com/Mrtalent/p/7797606.html

 www.cnblogs.com/zxwd/p/7797638.html

 www.cnblogs.com/wjl1124/p/7783547.html

2.表格及折线

题目 代码行数 时间/min 博客字数 时间/min 涉及的知识点
7-1 15 40 100 50 double定义双精度型变量
7-2 31 30 70 30 char定义字符型变量,double定义双精度型变量
7-3 20 10 80 15 变量之间值的交换
7-4 33 50 90 70 switch开关控制语句

原文地址:https://www.cnblogs.com/yaoshuang/p/7792392.html