第二次作业

作业要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2292

第三次作业:7-1计算存款利息

#include<stdio.h>
#include<math.h>
int main()
{
  double rate,interest,year,money;
  scanf("%lf %lf %lf",&money,&year,&rate);
  interest = money * pow(1 + rate,year) - money;
  printf("interest = %.2lf",interest);
  return 0;
}

解题思路:

首先是将标准的格式打出来,因为本题涉及平方,要打math.h才能够正常运算。

用scanf输入变量的具体数值,打出计算公式进行计算。

最后printf打印出结果。

调试信息:

没有注意保留小数点后两位和前面的interest

题目要求是保留小数点后两位,保留两位小数,就在lf前加入.2,而且给的输出样例中有interest =,必须和输出样例一模一样,否则还是答案错误,那就在printf中加入interest = ,输出的结果就会打印出这几个字,答案就正确。

最终和输出样例一样。

第四次作业  7-2高速公路的超速处罚

#include <stdio.h>
int main()
{
    int x,y;
    double a;
    scanf("%d %d",&x,&y);
    a=(x-y)*100.0/y;
    if(a<10) {
      printf("OK\n");
    }
    else if(a >= 10 && a < 50) {
      printf("Exceed %.lf%%. Ticket 200\n",a);
    }
    else if(a >=50){
      printf("Exceed %.lf%%. License Revoked\n",a);
    }
    return 0;

}

解题思路:

先定义变量 x y,在定义浮点型的a,xy代表车速和限速,a是超速的百分之多少。

首先,要计算出超出是百分之多少,超出部分的计算方法是 x-y是超的多少速,再/y就是超出原速度的多少,题目要求的是百分号所以先*100,最后在结果上加百分号。

其次,用if条件语句进行判断运行哪个,,因为*100,第一就是<10 ,第二是>=10 && <50,第三是>=50。

流程图

 

 

调试信息:

一开始输出的发现后面没有百分号,

 

 怎么改也没用,就上网百度了,知道要想输出%要打两个,好像是因为%也有取余的意思,要想%就要打%%,改完发现变成部分正确

这两个地方在后来也改过来了,但我发现还是不对。在调式过程中我也把3个样例输了一遍和输出样例一样,但pta上就是部分正确下面我三张调试的图。

和输出样例一样,但就是不对,一直没看出来什么,但后来我试了这样的一组数 200 150

z大于等于50,输出的数却小于50% ,并且吊销了驾照,正常应该是罚两百,我发现if()里不应该是z, 应该是a,我当时应该只想到 y=100,如果y只等于100,这样确实成立,但其他就不行了。后来我就把括号里的改成a了 ,z感觉没啥用就删掉了。

这样就成功了。

个人总结

1.本周主要学习的是字符型数据的输入和输出,switch语句和for循环。知道了字符型数据,需要char op调动,用switch语句进行简单的计算器,和数字,字符的转换,for循环可以重复执行,打印出表格来。

2.for循环比较难,for括号里的语句总是不知让人写什么,循环体要是简单的还能做一做,碰到复杂的不知道怎么写,没怎么接触,还要练习。switch,case还好,目前感觉还好,没遇到到过什么难的。有上网查查资料,和看看书上的例子。

表格

 

 折线图

作业点评:

http://www.cnblogs.com/zjy5201314/p/9900818.html

http://www.cnblogs.com/freedomjdp/p/9845635.html

http://www.cnblogs.com/DX552ZYM557/p/9911775.html

 

posted @ 2018-11-05 22:26  wjxwjx123  阅读(222)  评论(7编辑  收藏  举报