标题:能帮忙查下,这个哪里错了么
只看楼主
混混天团520
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2010-10-6
结帖率:33.33%
已结贴  问题点数:20 回复次数:7 
能帮忙查下,这个哪里错了么
#include <stdio.h>
#include <math.h>
#define PI 3.1415926
int  main ()
{
double F1,F2,F_end ;
double angles,angle_end;
int F_num,i;
printf("the number of F");
scanf ("%d",&F_num);
double F[F_num];
double angle[F_num-1];
F1=F[1];
F2=F[2];
for (i=1;i<=F_num;i++)
{
    printf ("F%d=",i);
    scanf ("%lf",&F[i]);
}
for (i=1;i<=F_num-1;i++)
{
    printf ("angle%d=",i);
    scanf ("%lf",&angle[i]);
   
}
 for (i=1;i<=F_num-1;i++)
 {  
   
     angle_end =angle[i]*PI/180;
     F_end =sqrt(F1*F1+F2*F2-2*F1*F2*cos(PI-angle_end));
     angles=acos((F2*F2+F_end*F_end-F1*F1 )/(2*F2*F_end));
     F1=F_end;
     F2=F[i+2];
     angle_end=angle[i+1]+angles;
 }

printf ("最后的合力为F_end%lf=",F_end);
}
程序在C-free5.0运行没问题,就是答案不正确,能帮忙看看是哪里出问题了么

搜索更多相关主题的帖子: include double number angle 
2010-10-10 19:39
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
得分:5 
没问题啊!
程序代码:
#include <stdio.h>
#include <math.h>
#define PI 3.1415926
int  main ()
{
    double F1,F2,F_end ;
    double angles,angle_end;
    int F_num,i;
    printf("the number of F");
    scanf ("%d",&F_num);
    double *F;
    F=new double[F_num];
    double *angle;
    angle=new double[F_num-1];

    for (i=1;i<=F_num;i++)
    {
        printf ("F%d=",i);
        scanf ("%lf",&F[i]);
    }
    for (i=1;i<=F_num-1;i++)
    {
        printf ("angle%d=",i);
        scanf ("%lf",&angle[i]);

    }
    F1=F[1];
    F2=F[2];
    for (i=1;i<=F_num-1;i++)
    {  

        angle_end =angle[i]*PI/180;
        F_end =sqrt(F1*F1+F2*F2-2*F1*F2*cos(PI-angle_end));
        angles=acos((F2*F2+F_end*F_end-F1*F1 )/(2*F2*F_end));
        F1=F_end;
        F2=F[i+2];
        angle_end=angle[i+1]+angles;
    }

    printf ("最后的合力为F_end=%lf",F_end);
}

If You Want Something, Go Get It, Period.
2010-10-10 20:02
混混天团520
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2010-10-6
得分:0 
for (i=1;i<=F_num-1;i++)
    {  

        angle_end =angle[i]*PI/180;
        F_end =sqrt(F1*F1+F2*F2-2*F1*F2*cos(PI-angle_end));
        angles=acos((F2*F2+F_end*F_end-F1*F1 )/(2*F2*F_end));
        F1=F_end;
        F2=F[i+2];
        angle_end=angle[i+1]+angles;
    }
中还把angle_end =angle[i]*PI/180;这句放里面是不是不大对啊,但结果又好像是对的,纠结............
能讲的清楚点么,谢谢

2010-10-10 20:46
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
得分:5 
嗯嗯!是的!这只有第一次有用!呵呵!我没发觉!
angle_end =angle[i]*PI/180;
for (i=1;i<=F_num-1;i++)
    {  
        F_end =sqrt(F1*F1+F2*F2-2*F1*F2*cos(PI-angle_end));
        angles=acos((F2*F2+F_end*F_end-F1*F1 )/(2*F2*F_end));
        F1=F_end;
        F2=F[i+2];
        double m=angle[i+1]*PI/180;
        angle_end=m+angles;
    }


If You Want Something, Go Get It, Period.
2010-10-10 21:00
混混天团520
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2010-10-6
得分:0 
这个是不是还有问题啊,double m=angle[i+1]*PI/180;
        angle_end=m+angles;
角度跟弧度制不能直接相加吧
2010-10-10 21:56
混混天团520
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2010-10-6
得分:0 
回复 4楼 m21wo
这个是不是还有问题啊,double m=angle[i+1]*PI/180;
        angle_end=m+angles;
角度跟弧度制不能直接相加吧
2010-10-10 21:57
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
得分:10 
angle_end=m+angles;
angles就是弧度啊!你用acos函数就是返回的弧度啊!

If You Want Something, Go Get It, Period.
2010-10-10 22:42
混混天团520
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2010-10-6
得分:0 
嗯,谢了
2010-10-11 08:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-322479-1-1.html




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

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