读书人

一个关于浮点数的基础有关问题.

发布时间: 2012-02-21 16:26:23 作者: rapoo

一个关于浮点数的基础问题..
我想写个算工程上桥梁的路面高程的小程序..
#include <stdio.h>
#include <math.h>
void main()
{
double q,l,h,y,w,z,x;
float a,b;
printf( "请输入曲头桩号,切线角度,第一路面高程. ");
scanf( "%f%f%f ",&q,&l,&h);
printf( "\n ");
printf( "请输入要计算的起始桩号和终止桩号.\n ");
scanf( "%f%f ",&a,&b);
printf( "\n ");
for(x=a;x <=b;x=x+0.5)
{
w=(x-q)/4000; //printf( "%1.9f\n ");
y=(x-q)/cos(l-w);
z=h+y*sin(l-w);
printf( "桩号:%5.1f.路面高程:%4.3f.\n ",x,z);
}
}

因为数据有的有9位小数.所以我把主要的数据都设为double...

w=(x-q)/4000 我在这里检查的时候发现.得出W的值一直是0.000000

这个如何改?


[解决办法]
被楼主误导了 汗 ~
============
%f 接收的是 float 类型数据,
而你后面要输入的是 double 类型数据,
出错 ~

可以在接收后将 q,l,h 输出查看一下就知道了 ~
w=(x-q)/4000 没有问题 ~

读书人网 >C语言

热点推荐