自己写了一个程序,不知道错那了,大家帮忙看看

Minecraft是一个颠覆性的高自由度游戏,其中文译名叫“我的世界”。之所以会有如此译名,原因在于这个游戏就像一个沙盒世界,玩家就像是个创世神一般。其颠覆性在于它不同于以往那些游戏“要你做
去什么”,相反的,是由玩家去思考“我要做什么”。
说了这么一段,你们是不是很想上网搜一搜怎么玩呢?不过玩之前麻烦先帮Lrc解决一个问题。
这个游戏里面是可以制作逻辑电路的,通过简单的搭建,玩家可以制作出一个简单的TNT大炮。
假设现在Lrc想使用大炮轰地面上炸距离自己s米处的目标,大炮的发射仰角为A(单位角度),炮弹的初速度为v米/秒,TNT在发出后t秒爆炸,爆炸半径为r米(当目标到爆炸点的距离<=r时即视为击中),
炸药落地后不反弹。重力加速度取10m/s^2。问:Lrc能否击中目标?PS:目标与Lrc于同一平面
#include<stdio.h>
#include<math.h>
int main()
{
    double s,a,v,t,r,T,h,l;//定义距离自己s米处的目标,大炮的发射仰角为A(单位角度),炮弹的初速度为v米/秒,TNT在发出后t秒爆炸,爆炸半径为r米
    scanf("%lf%lf%lf%lf%lf",&s,&a,&v,&t,&r);
    T=2*v*sin(a*3.1415926/180)/10;//飞行时间
    if(t>=T)//判断是不是在空中爆炸
    {
        l=v*T*cos(a*3.1415926/180);//水平飞行距离
        if(s-l<=r||l-s<=r)//判断满不满足击中目标
            printf("nice!");
        else printf("T^T");
    }
    if(t<T&&t>t/2)//判断是在空中哪个阶段爆炸
    {
        h=pow(v*sin(a*3.1415926/180),2)/20-(5*pow((t-T/2),2));//离地面高度
        l=v*t*cos(a*3.1415926/180);//水平飞行距离
        if(l-s<=r&&h<=r||s-l<=r&&h<=r)//判断满不满足击中目标
            printf("nice!");
        else printf("T^T");
    }
    if(t<=T/2)//判断是在空中哪个阶段爆炸
    {
        h=v*t*sin(a*3.1415926/180)-5*pow(t,2);//离地面高度
         l=v*t*cos(a*3.1415926/180);//水平飞行距离
        if(l-s<=r&&h<=r||s-l<=r&&h<=r)//判断满不满足击中目标
            printf("nice!");
        else printf("T^T");
    }




}






我写了个这样的程序~~但是无论输入什么数据都是输出nice!
问题出在哪??
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值