| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 386 人关注过本帖
标题:#include<stdio.h>
只看楼主 加入收藏
qq471402415
Rank: 2
等 级:论坛游民
帖 子:88
专家分:45
注 册:2013-12-3
结帖率:82.35%
收藏
已结贴  问题点数:20 回复次数:8 
#include<stdio.h>


[ 本帖最后由 qq471402415 于 2013-12-29 19:22 编辑 ]
搜索更多相关主题的帖子: include 
2013-12-29 19:09
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:7 
相应改成如下试试
fabs(s-l)<=r

www.qunxingw.wang
2013-12-29 19:36
qq471402415
Rank: 2
等 级:论坛游民
帖 子:88
专家分:45
注 册:2013-12-3
收藏
得分:0 
#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(fabs(s-l)<=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(fabs(a-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(fabs(a-l)<=r&&h<=r)//判断满不满足击中目标
            printf("nice!");
        else printf("T^T");
    }


}
2013-12-29 19:48
qq471402415
Rank: 2
等 级:论坛游民
帖 子:88
专家分:45
注 册:2013-12-3
收藏
得分:0 
好像是可以输出两种不同的结果~~但是提交还是错~~是算法出来问题吗???
2013-12-29 19:49
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:7 
if(t<T&&t>t/2)//判断是在空中哪个阶段爆炸


[fly]存在即是合理[/fly]
2013-12-29 20:00
qq471402415
Rank: 2
等 级:论坛游民
帖 子:88
专家分:45
注 册:2013-12-3
收藏
得分:0 
#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(fabs(s-l)<=r)//判断满不满足击中目标
            printf("nice!");
        else printf("T^T");
    }
    if(t<T&&t>T/4)//判断是在空中哪个阶段爆炸
    {
        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(fabs(a-l)<=r&&h<=r)//判断满不满足击中目标
            printf("nice!");
        else printf("T^T");
    }
    if(t<=T/4)//判断是在空中哪个阶段爆炸
    {
        h=v*t*sin(a*3.1415926/180)-5*pow(t,2);//离地面高度
         l=v*t*cos(a*3.1415926/180);//水平飞行距离
        if(fabs(a-l)<=r&&h<=r)//判断满不满足击中目标
            printf("nice!");
        else printf("T^T");
    }


}   

//if(t<T&&t>T/4)//判断是在下降的空中爆炸~~~刚才有点问题~~现在改正
2013-12-29 22:03
qq471402415
Rank: 2
等 级:论坛游民
帖 子:88
专家分:45
注 册:2013-12-3
收藏
得分:0 
#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(fabs(s-l)<=r)//判断满不满足击中目标
            printf("nice!");
        else printf("T^T");
    }
    if(t<T&&t>T/4)//判断是在空中哪个阶段爆炸
    {
        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(fabs(a-l)<=r&&h<=r)//判断满不满足击中目标
            printf("nice!");
        else printf("T^T");
    }
    if(t<=T/4)//判断是在空中哪个阶段爆炸
    {
        h=v*t*sin(a*3.1415926/180)-5*pow(t,2);//离地面高度
         l=v*t*cos(a*3.1415926/180);//水平飞行距离
        if(fabs(a-l)<=r&&h<=r)//判断满不满足击中目标
            printf("nice!");
        else printf("T^T");
    }


}   

//if(t<T&&t>T/4)//判断是在下降的空中爆炸~~~刚才有点问题~~现在改正
2013-12-29 22:03
qq471402415
Rank: 2
等 级:论坛游民
帖 子:88
专家分:45
注 册:2013-12-3
收藏
得分:0 
#include<stdio.h>
#include<math.h>
#define PI    3.141592653589793
int main()
{
    double s, a, v, t, r,T;
    double vh, vx, dh, dx;
    scanf("%lf%lf%lf%lf%lf", &s, &a, &v, &t, &r);
    vh=v*sin(a*PI/180);
    vx=v*cos(a*PI/180);
    T=2*vh/10;
    if(t>=T)
    {
        dx=vx*T;
        if(fabs(dx-s)<=r)

            printf("nice!");
        else
            printf("T^T");
    }

    if(t<=T)
    {
        dh=(vh-5*t)*t;
        dx=vx*t-s;
        if(dh*dh+dx*dx<=r*r)
            printf("nice!");
        else
            printf("T^T");
    }
    return 0;
}
2013-12-29 22:30
qq471402415
Rank: 2
等 级:论坛游民
帖 子:88
专家分:45
注 册:2013-12-3
收藏
得分:0 
#include<stdio.h>
#include<math.h>
#define PI    3.141592653589793
int main()
{
    double s, a, v, t, r,T;
    double vh, vx, dh, dx;
    scanf("%lf%lf%lf%lf%lf", &s, &a, &v, &t, &r);
    vh=v*sin(a*PI/180);
    vx=v*cos(a*PI/180);
    T=2*vh/10;
    if(t>=T)
    {
        dx=vx*T;
        if(fabs(dx-s)<=r)

            printf("nice!");
        else
            printf("T^T");
    }

    if(t<=T)
    {
        dh=(vh-5*t)*t;
        dx=vx*t-s;
        if(dh*dh+dx*dx<=r*r)
            printf("nice!");
        else
            printf("T^T");
    }
    return 0;
}
2013-12-29 22:30
快速回复:#include<stdio.h>
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018169 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved