第六周作业

#第一题:

#include <stdio.h>
int main ()
{
    int a,b;
    double 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;          
             
    
}

*设计思路:

第一步:先打好框架,认真看好题目。

第二步:将a定义为对应车速,b定义为限时车速,我的想法是对应车速减去以限时车速,再除以限时车速,这样显示的是小数,所以我将这个数定义为c,为了方便,我将对于车速减去限时车速这个值乘以100,这样c的值就是整数。

第三步:接下来运用if,else语句。根据题目要求,若c小于10便是输出OK,接下里根据题意完成要求,运用if,else,输出相应要求句子。

*流程图:

 *错误截图:

*问题及解决方法:发现pta错误提示中如上,都是等价,答案错误。我看看题目要求,发现自己的代码中c的条件中,打成了"c<=5"和另一判断条件“c>=5&&c<=50",我将两个等于号去点掉,就可以得到正确的提示了。

#第二题:

#include <stdio.h>
int main ()
{
    int a,b,m;
    float x,y,z;
    scanf("%d %d %c",&a,&b,&m);
    switch (b)
    {
        case 90: x=6.95;break;
        case 93: x=7.44;break;
        case 97: x=7.93;break;
    }
    switch (m)
    {
        case   'm' : y=0.05;break;
        case   'e' : y=0.03;break;
    }
    z=(float)a*(float)x*(1-(float)y);
    printf ("%.2f",z);
    return 0;
 } 

*设计思路:

第一步:打好基本框架。

第二步:认真读懂题目要求,本题的题目字符比较多,得区分。输入整数型a,b,和字母m,将x定义为汽车品种b的种类,y定义为服务类型c的种类,z定义为所需应付金额。

第三步:运用switch case语句完成代码,最后输出金额z。

*流程图:

*错误截图:

 

*问题及解决方法:看到这这样的错误提示,我先双击第一条的错误提示,发现是在我15行的分开m的值,我仔细看下这一行,发现我把“:”打成“=”,以及我把,下面折扣的值y打成其他没定义的值了,系统识别不了这个值。改过来就可以运行了。

#第三题:

#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",c,b,a);
    return 0;       
}

*设计思路:

第一步:构建基本框架。

第二步:定义整数a,b,c,d,以d为中介,a,c,三个整数通过d来两两比较,将最大的数赋值到a,中间大的赋值到b,最小的赋值到c。最后完成代码。

*流程图:

*错误截图:

*问题及解决方法:因为这题老师上课原原本本的讲过,也就一次性的过了,这是我的成功截图。

#第四题:

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

*设计思路:

第一步:先打好基本框架。

第二步:仔细阅读题目,我将符号定义为字母m,运用switch case,语句根据题目要求完成代码。最后输出。

*流程图:

*错误截图:

git上传:

https://git.coding.net/lxtyichan/lxthaerbin.gitgit地址

*问题及解决方法:点开错误条,发现我case语句后都忘打了break,并上面的'&'打成了‘%',改回来就可以运行了。

*本周学习内容:学习了switch case语句,继续了上周的if-else语句。

        学习收获:在牛老师和助教的解说下,知道了改怎么规范流程图,和规范代码。

        难点:switch语句。

        意见和建议:也没什么可以有建议的,老师上课我还是比较满意的,就是希望老师能多布置写pta作业。

*表格截图:

*折线图:

 

*评论:

关晟强

http://www.cnblogs.com/asdfg123/p/7795981.html

找晟惟

http://www.cnblogs.com/z024108/p/7801423.html

王志恒:

http://www.cnblogs.com/wangzhiheng/p/7797353.html

 

posted @ 2017-11-07 23:39  亦蝉1  阅读(195)  评论(0编辑  收藏  举报