我刚刚学c语言,边写椭圆面积的时候发生了-1.#IND00的错误,求高手帮忙看一下哪里出错了,谢谢!!!!

#include <math.h>
#include <stdio.h>
#define N 100
void main ()
{
int i;
float dx,a=0,b=3.14159,x=0,z=0,s;
dx=(b-a)/N;
for (i=1;i<=N;i++)
{
z=z+((b/a)*sqrt(pow(a,2)-pow(x,2))+(b/a)*sqrt(pow(a,2)-pow(x+dx,2)))*dx/2;
x+=dx;
}
s=4*z;
printf ("s=%f",s);
}

程序中定义了:float a=0;
那么b/a是什么意思?a不能做除数吧追问

我刚学c语言,对这个不太懂,计算椭圆面积用c语言怎么编呀?真的不会呢

追答

椭圆的面积公式是:
S=π(圆周率)×a×b(其中a,b分别是椭圆的半长轴,半短轴的长).或S=π(圆周率)×A×B/4(其中A,B分别是椭圆的长轴,短轴的长).
用scanf语句输入半长轴长放到a里,半短轴长放到b里,然后直接计算:S=π(圆周率)×a×b不行?

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-14
另: 你定义的b 系统不会把它看成3.14159,如果定义圆周率最好宏定义。

Warning: Invalid argument supplied for foreach() in /www/wwwroot/www.t2y.org3v3b34/skin/templets/default/contents.html on line 47
相似回答