第六周作业

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

1.实验代码

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

2 设计思路

第一步:根据题目所给的信息定义出a,b,c变量

第二步:输入a,b,c并赋值给a,b,c;

第三步:根据题目所给的计算公式计算出c

第四步:判断a是否大于题目条件所给的b;

第五步:输出并打印c

(2)

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

遇到了判断a与b大小的问题,由于浮点数表示不精确而整数与其等值比较时出现了判断上的问题

解决方法: 将数扩大成整数进行判断就能解决该问题

4.本题PTA提交列表

题目7-2 计算油费

1.实验代码

#include<stdio.h>
int main(){
    char a;
    double d;
    int b,c;
    scanf("%d %d %c",&b,&c,&a);
    switch(c){
        case 90:
        switch(a){
            case 'm':
                d=6.95*b*0.95;
                break;
            case 'e':
                d=6.95*b*0.97;
                break;}
            break;
        case 93:
            switch(a){
            case 'm':
                d=7.44*b*0.95;
                break;
            case 'e':
                d=7.44*b*0.97;
                break;}    
            break;
        case 97:
                switch(a){
            case 'm':
                d=7.93*b*0.95;
                break;
            case 'e':
                d=7.93*b*0.97;
                break;}
            break;                        
    }printf("%0.2f",d);
    return 0;
}

2 设计思路

第一步:根据题目要求来定义a,b,c,d变量

第二步:利用switch来判断输入的a,c的值 再计算出d的值

第三步: 输出并打印d的值

(2)

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

 本题未遇到问题

4.本题PTA提交列表

题目7-3 比较大小

1.实验代码

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

2 设计思路

第一步:根据题目定义a,b,c并输入且赋值给a,b,c ,再定义一个储存变量t

第二步:比较a与b的值,然后比较b与c的值,最后再比较a与b的值,将a,b,c的值交换并由小到大排列;

第三步:输出并打印a,b,c的值

(2)

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

a,b,c之间的交换混乱导致部分情况的a,b,c的输出并非由小到大排列

解决方法:思考明白并做出了改正

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

1.实验代码

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

2 设计思路

第一步:根据题意来定义a,b,c的变量,输入并赋值给a,b,c

第二步:判断输入的b的值,然后计算出b

第三步:输出b或输出ERROR

(2)

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

本题未遇到问题

4.本题PTA提交列表

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

git截图:

个人总结:

本周学习了条件和循环,学会了新的计算方式

 

posted @ 2017-11-07 10:02  莫拉格尼  阅读(199)  评论(5编辑  收藏  举报