心痒,想编程了~
这就看c++去了。。
下一道题,请写出此题的程序。。。
已经很久没编程了,怕冰MM学的太累,就简单写一点吧。因为没有c++编译器,所以没调试。
#include <stdio.h>
#include <memory.h>
#include <math.h>
#define PI 3.14159265
struct s_Valeur
{
float f_Degre;
float f_Volume;
};
main()
{
int a = 2; // 圆锥体斜边a
float f_Haut = 0; //高
float f_R = 0; //底面半径
double d_Step = 0.01; //步长
s_Valeur s_Maximal, s_Temp; //最大值和中间计算变量
//初始化结构体
memset(s_Maximal, 0, sizeof(float) * 2);
memset(s_Temp, 0, sizeof(float) * 2);
//从0度开始到180度为止,找出体积最大值。
for (int i = 0; i < 180; i += d_Step)
{
f_Haut = a * cos(i * PI / 180);
f_R = (a * sin(i * PI / 180)) / 2;
s_Temp.f_Volume = (PI * f_R * f_R * f_Haut) / 3;
s_Temp.f_Degre = i;
//判断体积最大值
if (s_Temp.f_Volume > s_Maximal.f_Volume)
{
s_Maximal.f_Volume = s_Temp.f_Volume;
s_Maximal.f_Degre = s_Temp.f_Degre;
}
else
{
break; //此处可以修改i和d_Step的值,或者在for循环后再做一次循环,角度从s_Maximal.f_Degre - 1到s_Maximal.f_Degre + 1,d_Step可以设定更小,例如:double d_Step = 0.00000001;
}
}
}