帮我编个简单的C语言程序(改错)

#include <math.h>
void main()
{ float pi=3.14;
long d;
double x;
scanf("%d",&d);
x=1/2sin(pi*d/180);
printf("x=%f\n",x);
}

错误大概是在x=1/2sin(pi*d/180);
错误的是输出的答案不是那个式子的值

1要改成1.0,180要改成180.0,不然算出来的是0.000000,注意是否是相同类型的数
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-09-07
x为double型,赋值语句x=1/2sin(pi*d/180); 肯定有错;应改为x=1.0/2*sin(pi*d/180);
否则1/2将为0,最终结果为0;
还有一处错误,定义d为long型,scanf函数里面的格式说明符应该是%ld,而不是%d!本回答被提问者采纳
第2个回答  2007-09-07
2 和sin之间吧 这种垃圾语言不要学了啊 只是工具啊
第3个回答  2007-09-07
x=1/2sin(pi*d/180);应该改为x=1.0/(2*sin(pi*d/180))不过建议pi 也定义为double 类型。
第4个回答  2007-09-07
#include <math.h>
#include <stdio.h>
void main()
{

float pi=3.14;
long d;
double x;
scanf("%d",&d);
x=1/2*sin(pi*d/180);
printf("x=%f\n",x);
}

注意1/2后有个*号
相似回答