下面这c语句哪错了?为什么将各个for循环拆开,计算值正确,合起来计算的值就完全错误呢#include #include main(){double y,x,e,i,d=3.1415926;int a=50,b=10,c=60;for (i=3;i

来源:学生作业帮助网 编辑:作业帮 时间:2024/08/16 14:24:02
下面这c语句哪错了?为什么将各个for循环拆开,计算值正确,合起来计算的值就完全错误呢#include #include main(){double y,x,e,i,d=3.1415926;int a=50,b=10,c=60;for (i=3;i
xoo@J#iF[Dŧ@)Ҥ+%,KL1[fdl.$@-7+]xmC F'?׻pE1UG._sWUieU ]Wz*7mV` YqSnU];9^t?w6חHVeY0EXMf J8$tq E 3! $," `&r0bMy|U3:84ߏix%m38^gZh=b{&lre5Fa2n5L}%Î1c(p֙bpR,2xܗ$KxhxoQĔ'Ҁ+13I2C=/  =LJ(<^EP"Dr9n f~,@9ڬс1d0Ez"ៃ Rtଗ%lwa>ds sZ#ѿqo.h Ю6!I'~?񍼥k n9[sdsnSAW;4>MC ^RFjU/^j~7ivvϰMU _Ř ^

下面这c语句哪错了?为什么将各个for循环拆开,计算值正确,合起来计算的值就完全错误呢#include #include main(){double y,x,e,i,d=3.1415926;int a=50,b=10,c=60;for (i=3;i
下面这c语句哪错了?为什么将各个for循环拆开,计算值正确,合起来计算的值就完全错误呢
#include
#include
main()
{
double y,x,e,i,d=3.1415926;
int a=50,b=10,c=60;
for (i=3;i

下面这c语句哪错了?为什么将各个for循环拆开,计算值正确,合起来计算的值就完全错误呢#include #include main(){double y,x,e,i,d=3.1415926;int a=50,b=10,c=60;for (i=3;i
#include <math.h>
#include <stdio.h>
main()
{
    double  y,x,e,i,d=3.1415926;
    int a=50,b=10,c=60;
    for (i=3; i<=60; i+=0.5)
    {
        x=(a+b*i/c)*sin(i*d/180);
        y=(a+b*i/c)*cos(i*d/180);
        e=i;
        //printf("e=%f,x=%f,y=%f\n",e,x,y);    //Here
        printf("e=%lf,x=%lf,y=%lf\n",e,x,y);
    }
    for (i=3; i<=120; i+=0.5)
    {
        x=(a+b)*sin((i+60)*d/180);
        y=(a+b)*cos((i+60)*d/180);
        e=i+60;
        //printf("e=%d,x=%f,y=%f\n",e,x,y);    //Here
        printf("e=%lf,x=%lf,y=%lf\n",e,x,y);
    }
    for (i=3; i<=30; i+=0.5)
    {
        x=(a+b-2*b*i*i/(c*c))*sin((i+180)*d/180);
        y=(a+b-2*b*i*i/(c*c))*cos((i+180)*d/180);
        e=180+i;
        //printf("e=%d,x=%f,y=%f\n",e,x,y);    //Here
        printf("e=%lf,x=%lf,y=%lf\n",e,x,y);
    }
    for (i=31; i<=60; i+=0.5)
    {
        x=(a+2*b*(c-i)*(c-i)/(c*c))*sin((i+210)*d/180);
        y=(a+2*b*(c-i)*(c-i)/(c*c))*cos((i+210)*d/180);
        e=i+180;
        //printf("e=%d,x=%f,y=%f\n",e,x,y);    //Here
        printf("e=%lf,x=%lf,y=%lf\n",e,x,y);
    }
    for (i=3; i<=120; i+=0.5)
    {
        x=(a)*sin((i+240)*d/180);
        y=(a)*cos((i+240)*d/180);
        e=i+240;
        //printf("e=%d,x=%f,y=%f\n",e,x,y);    //Here
        printf("e=%lf,x=%lf,y=%lf\n",e,x,y);
    }
}

有问题的地方如上标here的地方,主要是输出格式控制不对,double要用%lf