第六周作业

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

  1. 实验代码

#include <stdio.h>
 int main(){
    int v,l;
    double x;
    scanf("%d %d",&v,&l);
    x=(double)(v-l)*100/(double)l;
    if(x<10)
      printf("OK");
    else if(x<50)
      printf("Exceed %.0f%%. Ticket 200",x);
    else
      printf("Exceed %.0f%%. License Revoked ",x);
    return 0;
}
  1. 设计思路

(1)描述:第一步:根据题意定义整数变量对应车速v,限速l。
第二部:定义(v-l)为超速部分,(v-l)/l作比计算是否超速及超速百分比,(v-l)/l100定义为x。
第三步:按照x大小判断输出内容:x<10输出“OK”,10<x<50输出“Exceed %.0f%%. Ticket 200”,剩余情况输出“Exceed %.0f%%. License Revoked”。
(2)流程图:

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

无问题
PTA提交列表:

题目7-2.计算油费

  1. 实验代码

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

(1)描述:第一步:定义整数变量a b,确定字符变量,输出结果x保留小数点后两位。
第二步:输入a b c应用switch语句表达出不同加油量,服务类型下的情况。
第三步:输出结果
(2)流程图:

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

        无问题
    

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=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;
}
  1. 设计思路

(1)描述:第一步:根据题目定义3个整数为a b c t(替换变量),
第二步:输入a b c,根据题意确定比各变量间大小,用t作替换变量。
第三步:按输出格式输出结果
(2)流程图:

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

         无问题
    

PTA提交列表:

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

  1. 实验代码

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

(1)描述:第一步:定义变量n1 n2,用char定义字符。
第二步:输入变量n1 n2 operate。
第三步:使用switch函数将事件分类,运算符为+、-、*、/、%时,在一行输出相应的运算结果;输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。
(2)流程图:

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

         Scanf中%d%C%d顺序错误以及编程格式部分不正确导致编程错误  解决方法:根据提示检查后重新定义变量并且改正
    

PTA提交列表:

Git地址:
https://git.coding.net/Wrp1/Persistence.git

本周学习内容总结:(1)学习了字符型数据和字符常量等知识点 字符型数据 :表征英文字母、符号等的数据,用char表示;字符常量:用单引号括起来的单个普通字符或转义字符
(2)学习了交换类题型的做法以及思维模式(用一个t值替换原有的数据变量,实现将其位置调换)。
(3) switch选择结构等知识点

遇到的问题:课堂上没听明白交换类型题,经过询问老师,讲解后清楚需要定义个新的变量进行转换。
在编程时会马虎,输入法没改变导致符号不对。
对于老师上课的形式感觉很好,老师和助教很负责,通过看群中milo老师的消息认识到写好博客的重要性,以后会尽量不断修改完善自己的博客,认真对待作业。
点评同学链接:赵升旗:http://www.cnblogs.com/boke2017boke/
林梦:http://www.cnblogs.com/lin2580/
何宗彦:http://www.cnblogs.com/hezongyan/
学习进度:

日期 代码行数 时间 博客字数 知识点
11.05 60 120 0 交换
11.06 50 120 0 switch case
11.07 65 120 200 switch case
posted @ 2017-11-07 23:56  Wrp  阅读(212)  评论(6编辑  收藏  举报