第六周作业

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

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

2、设计思路:
(1)定义两个整数A,B,A代表车速,B代表限速,定义一个浮点数x,x代表超速百分比。
(2)由题意得,列出"x=(A-B)*100.0/B"计算公式。
(3)输入A,B,得到x的值,运用else if 语句:
如果”x<10”,输出“OK”,
如果“10<=x<50”,输出“Exceed x%. Ticket 200”,
如果“x>50”,输出“Exceed x%. Revoked”。
3、题目7-1流程图:
第六周作业_第1张图片
4、PTA提交列表:

5、本题出现的问题和解决办法:
错误截图:第六周作业_第2张图片
出现问题:输入“110 100”时编译出的格式与题目所给的不相符。
解决方案:通过上网寻找资料知道要求一个数的百分比,可以先把被除数乘以100,这样得出的结果就是百分比前面的整数部分,即在输出的“.0f%”后面加一个“%”能把带有百分号的数输出程序。
题目7-2 计算油费
1、实验代码:

int main()
{
    double X,Y,Z;
    int a,b;
    char c;
    Z=0;
    scanf("%d %d %c",&a,&b,&c);
    switch(b)
    {
        case 90 : X=6.95; break;
        case 93 : X=7.44; break;
        case 97 : X=7.93; break;
    }
    switch(c)
    {
        case 'm' : Y=0.95; break;
        case 'e' : Y=0.97; break;
    }
    Z=X*Y*a;
    printf("%.2f",Z);
    return 0;
}

2、设计思路:
(1)定义三个浮点数X,Y,Z;整数a,b;字符c。
(2)输入a,b,c,应用“swich”语法来确定X,Y的值。
(3)根据题目得到Z的计算公式,将求出的X,Y带入,得到Z的值。
3、题目7-2流程图:
第六周作业_第3张图片
4、PTA提交列表:
第六周作业_第4张图片
5、本题出现的问题和解决办法:
错误截图:第六周作业_第5张图片
出现问题:case后面的“m,n”没用'm'.'n'形式,无法输出结果。
解决问题:改正成‘m’,'n',输出结果。
题目7-3 比较大小
1、实验代码:

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,D。
(2)通过if else语句,将D作为中间变量,将A,B,C三个整数两两比较。
(3)按照题目要求顺序输出A>B>C。
3、题目7-3流程图:
第六周作业_第6张图片
4、PTA提交列表:

5、本题出现的错误和解决方案:
本题由于老师上课讲过,所以没出现问题,而且上课打代码出现的问题没有在这道题中再次出现。
题目7-4 两个数的简单计算器
1、实验代码:

int main()
{
    int M,N,y;
    char ch;
    scanf("%d %c %d",&M,&ch,&N);
    switch(ch){
    case'+':printf("%d",M+N);break;
    case'-':printf("%d",M-N);break;
    case'*':printf("%d",M*N);break; 
    case'/':printf("%d",M/N);break;
    case'%':printf("%d",M%N);break; 
    default:printf("ERROR");}
    return 0;
}

2、设计思路:
(1)定义三个整数A,B,y,定义一个字符变量ch。
(2)应用使用switch对ch进行选择,通过M,N的计算给ch赋值。
(3)确定计算方式,输出对应的值,不符合题意的用default进行概括,输出ERROR。
3、题目7-4流程图:
第六周作业_第7张图片
4、PTA提交列表:
第六周作业_第8张图片
5、本题出现的错误和解决方案:
错误截图:第六周作业_第9张图片
出现问题:输入“-7 / 2”时输出的结果“-3-1ERROR”与题目给的例子不符。
解决问题:在每个printf后面加上break,输出结果。
二、
上传coding截图: 第六周作业_第10张图片
Git地址:https://coding.net/u/c289716425/p/123/git/tree/master/
三、
本周学习总结:本周加强对if else语句的学习,学习了新语句,switch语句,字符型数据定义方式char。难点在于不太适应switch语句与char语句,经常想不出如何在程序里运用,通过本周作业稍稍适应了一点。
上课形式没有什么意见,边教边练,是很好的教学方式了,希望可以稍稍延长一下作业的提交时间。
四、
点评作业:
(1)魏鹏 :http://www.cnblogs.com/WeiPeng-wuban/p/7792497.html
(2)何宗彦 :http://www.cnblogs.com/hezongyan/p/7783360.html
(3)赵升旗 :http://www.cnblogs.com/boke2017boke/p/7788452.html
五、
表格与折线图:
第六周作业_第11张图片

你可能感兴趣的:(第六周作业)