第六周作

Posted 17-5班刘泽华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六周作相关的知识,希望对你有一定的参考价值。

题目7-1 高速公路超速处罚
1.实验代码

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

 

2 设计思路
(1)
第一步:定义三个变量车速 限速 车速超出限速的百分比。
第二步:输入车速和限速  并计算出 车速超出限速的百分比。

第三步:利用算出的百分比进行判断。第四步:如果百分比小于10那就输出OK,如果大于10小于50就输出百分比并需交200元钱,如果大于50就输出吊销驾驶证。

(2)流程图


3.本题调试过程碰到问题及解决办法
错误提示的截图:
遇到的问题以及解决方法:
scanf所输出的变脸前边没有加“&”,并且百分比一直输出不出来。

最后加上了&    然后定义一个float型的变量c 将计算出来的百分比赋值给c   最后成功
4.本题PTA提交列表

本题出现的错误多数为无法输出百分比  

题目7-2 计算油费
1.实验代码

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

 


2 设计思路
(1)
第一步:定义油量a和油的种类b和服务方式c和花费cost
第二步:当服务类型为m时如果种类为90号花费cost=a*6.95*0.95,如果种类为93号花费cost=a*7.44*0.95,如果种类为97号花费cost=a*7.93*0.95.

第三步:当服务类型为e时如果种类为90号花费cost=a*6.95*0.97,如果种类为93号花费cost=a*7.44*0.97,如果种类为97号花费cost=a*7.93*0.97.

第四步:输出花费cost
(2)流程图

3.本题调试过程碰到问题及解决办法
错误提示的截图。


遇到的问题以及解决方法
遇到的问题是当b为90c为e时结果错误    解决办法是重新定义变量将cost从float变成double
4.本题PTA提交列表

 

本题错误在于所定义的花费cost不正确

题目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)
第一步:定义四个变量。
第二步:先比较a与b和c的大小关系,如果a>b将a赋值给d,将b赋值给a,将d赋值给b,如果a>c将a赋值给d,将c赋值给a,将d赋值给c。

第三步:比较b与c的大小关系,如果b>c将b赋值给b,将c赋值给b,将d赋值给c。

第四步:输出大小关系

(2)流程图


3.本题调试过程碰到问题及解决办法
错误提示的截图:
遇到的问题以及解决方法:遇到问题是没有读清输出格式的要求,错误的认为是大的在前小的在后,导致编程错误,解决办法询问同学发现输出格式应该是让小的在前。

4.本题PTA提交列表

本题出现的错误是输出格式没弄懂导致编程错误

题目7-4 两个数的简单计算器
1.实验代码

#include <stdio.h>
int main(){
  int a,b;
  char c;
  scanf("%d %c %d",&a,&c,&b);
  switch (c)
  { 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");break;}
  return 0;
}

 

2 设计思路
(1)
第一步:定义两个数和符号。
第二步:编写当符号分别为“+”,“-”,“*”,“/”,“%”时所进行的运算并且输出。

第三步:当符号为其他符号是输出ERROR

 

(2)流程图


3.本题调试过程碰到问题及解决办法
错误提示的截图:
遇到的问题以及解决方法:问题是忘记给case后边的符号加上单引号了  , 解决办法 检查了几次并询问了同学。

4.本题PTA提交列表

本题出现的错误是没有给符号加上单引号

 

##上传成功后coding.net项目的截图:

##git地址访:https://git.coding.net/liuzehua123/lzhjisuanji.git

学习的知识点:新的循环结构,我的收获是学会了在编程中如何循环进行计算。

我觉得难点是 需要背很多结构的需要的单词和格式,没有知识点不明白。

对老师上课形式没有意见。

点评同学的博客地址:

(1):http://www.cnblogs.com/shupeng521/ 

(2): http://www.cnblogs.com/100200a/

(3):http://www.cnblogs.com/z024108/ 

##表格和折线图

以上是关于第六周作的主要内容,如果未能解决你的问题,请参考以下文章

每周进度条(第六周)

学习进度条(第六周)

第六周

第六周的多线程代码测试题补交的博客

第六周总结表

20165331 第六周学习总结