#include<stdio.h>
#include<math.h>
#define PI 3.1416
main()
{
int deg;
float rad,s,c,t;
printf("Degree Sine Cosine Tangent\n");
printf("====== ==== ====== =======\n");
deg=0;
while(deg<=80)
{
rad=deg/180.0*PI;
s=sin(rad);
c=cos(rad);
t=tan(rad);
printf("%6d %.2f %3.2f %4.2f\n",rad,s,c,t);
deg=deg+10;
}
}
======================================================
运行后应该会自动加10度并得出结果,可是这个程序得出都是0
该没有任何问题,请问lz采用的编译器是什么名称、版本?
#include<stdio.h>
#include<math.h>
#define PI 3.1416
int main(void)
{
//int deg;
float deg;
float rad, s, c, t;
printf(" Degree Sine Cosine Tangent\n");
printf("========== ========== ========== ==========\n");
deg = 0;
while(deg<=80)
{
rad=deg/180.0*PI;
s = sin(rad);
c = cos(rad);
t = tan(rad);
printf("%6d %.2f %3.2f %4.2f\n", rad, s, c, t);
deg = deg + 10;
}
return 0;
}
我用Borland C/C++ Compiler 5.5免费版编译/执行,完全是OK的。
rad=deg/180.0*PI;
问题就出在这里了
你的deg定义的是int
而出初始亮又比180小 所以除的的结果也默认是int
当然就是0了 应该把rad定义为float