该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#define PI 3.14159
#define g 9.78
#define m 0.0535
#define mh 0.436
#define mp 0.479
#define r 0.02
#define rn 0.105
#define rw 0.12
#define rp 0.12
int main()
{
float fun();
float tai(float y,float x);
float final1(float j2,float j1);
float final2(float j3,float j2);
int i,j;
char c;
float ave[6],j1,j2,j3,jh,jhl,urh,jp,jpl,urp;
printf("已计算β的平均值?\nY 是\nN 否\n");
scanf("%c",&c);
if(c=='Y'||c=='y')
{printf("请依次输入6个平均值β(以空格隔开):\n");
for(i=0;i<6;i++) scanf("%f",&ave[i]);
}
if(c=='N'||c=='n')
{
for(i=0;i<6;i++) ave[i]=fun();
}
j1=tai(ave[1],ave[0] );
j2=tai(ave[3],ave[2]);
j3=tai(ave[5],ave[4]);
printf("实验台的转动惯量为:%0.4f\n",j1);
final1(j2,j1);
final2(j3,j1);
printf("\n\n\n\n\n\%30d\bDesinged by 宫豹鸡丁\n\n\n\n\n\n");
return 0;
}
float fun()
{
int i;
float t[8],b[4],sum=0,temp,temp1,ave;
printf("按序号依次输入8个时间(以空格隔开):\n");
for(i=0;i<=7;i++)
scanf("%f",&t[i]);
for (i=1;i<=4;i++)
{
temp=(i*t[i+3]-(i+4)*t[i-1]);
temp1=t[i-1]*t[i-1]*t[i+3]-t[i+3]*t[i+3]*t[i-1];
b[i]=(2.0*PI*temp)/temp1;
sum=sum+b[i];
}
ave=sum/4.0;
printf("β分别为:\n");
for(i=1;i<=4;i++)
printf("%0.4f ",b[i]);
printf("\n\n平均值为%0.4f\n\n\n",ave);
return ave;
}
float tai(float y,float x)
{
float j;
j=(m*r*(g-r*y))/(y-x);
return j;
}
float final1(float j2,float j1)
{float jh,urh,jhl;
jh=j2-j1;
jhl=0.5*mh*(rn*rn+rw*rw);
urh=(fabs(jh-jhl)/jhl);
printf("圆环的转动惯量为:%0.4f\n理论值为:%0.4f,误差为:%0.4f\n",jh,jhl,urh);
return 0;
}
float final2(float j3,float j1)
{
float jp,urp,jpl;
jp=j3-j1;
jpl=0.5*mp*(rp*rp);
urp=(fabs(jp-jpl)/jpl);
printf("圆盘转动惯量为:%0.4f\n理论值为:%0.4f,误差为:%0.4f\n",jp,jpl,urp);
return 0;
}