#include
#define i 120e6 #define E 150e9
int main() //主函数
{int angle,d,D; double
temps,tempc,Fy,Fz,Mx,e,l,l1,l2,l3,l4,F,FAy,FAz,FBy,FBz,W,Mcz,Mfz,Mhz,Mcy,Mfy,Mhy,Mdx,Mfx,Mx1,My1,Mz1,Mx2,My2,Mz2,DD,g,f,dd,h,b,A,s1,s2,s3,t2,t3,a,sr2,sr3,r,s11,s22,s33,t22,t33,sr22,sr33,tmax,tmin,R,tm,ta,nt,T,Kt,Et,B,pt;
printf(\请输入F,alfa,W,L1,L2,L3,e\\n\printf(\单位为KN,F=\printf(\单位为KN,W=\scanf(\
printf(\单位为m,L1=\scanf(\
printf(\单位为m,L2=\
scanf(\ //输入数据 printf(\单位为m,L3=\scanf(\printf(\单位为m,e=\scanf(\
printf(\单位为度,alfa=\scanf(\
temps=sin(12*Pi/180); tempc=cos(12*Pi/180);
Fy=F*temps; //求两个方向分力 Fz=F*tempc; Mx=Fz*e;
printf(\FBz=Fz*l1/(l1+l2);
FBy=(W*(l1+l2+l3)-Fy*l1)/(l1+l2);
FAz=l2*Fz/(l1+l2); //求各点支座反力 FAy=(Fy*l2+W*l3)/(l1+l2); printf(\支座反力(单位
KN):\\nFAy=%lf\\nFAz=%lf\\nFBy=%lf\\nFBz=%lf\\n\ l=1.5*e; l4=0.5*l;
Mcz=FAy*(l1-l/2);
Mfz=W*(l2+l3-l/2)-FBy*(l2-l/2); Mhz=FAy*l1;
Mcy=FAz*(l1-l/2); Mfy=FBz*(l2-l/2); Mhy=FAz*l1; Mdx=FAz*e; Mfx=Fz*e; printf(\力矩(单位
KN/m):\\nMcz=%f\\nMfz=%f\\nMhz=%f\\nMcy=%f\\nMfy=%f\\nMhy=%f\\nMdx=%f\\nMfx=%f\\n\ //输出各点在各个方向的力矩
f=sqrt(Mfx*Mfx+Mfy*Mfy+Mfz*Mfz); g=32*f/(Pi*i);
DD=pow(g,1.0/3.0); //根据第三强度理论,计算D的最小值 f=sqrt(Mdx*Mdx+Mhy*Mhy+Mhz*Mhz); g=32*f/(Pi*i);
dd=pow(g,1.0/3.0); //根据第三强度理论,计算d的最小值 printf(\D=(int)(1000*DD); d=(int)(1000*dd); if(d%2==0)
d=d+2; //d取整取偶 else d=d+1; if(D%2==0) D=D+2;
else D=D+1; //D取整取偶 printf(\故D取%dmm,d取%dmm \\n\
a=0.231; r=0.858;
h=1.2*(double)D/1000; b=2*h/3; A=h*b;
s1=FAy/A+FAz*e*6/(h*h*b)+FAy*6*(l1-l4)/(b*b*h); //校核左曲轴臂D1点强度 printf(\
s2=FAy/A+FAy*(l1-l4)*6/(b*b*h); t2=FAz*(l1-l4)/(a*h*b*b);
sr2=sqrt(s2*s2+4*t2*t2); //校核左曲轴臂D2点强度 printf(\t3=r*t2;
s3=FAy/A+FAz*e*6/(h*h*b);
sr3=sqrt(s3*s3+4*t3*t3); //校核左曲轴臂D3点强度 printf(\if(s1<=i&&sr2<=i&&sr3<=i) printf(\左曲轴臂安全\\n\
s11=(W-FBy)/A+Mfx*6/(h*h*b)+Mfz*6/(h*b*b); //校核右曲轴臂D1点强度 printf(\
s22=(W-FBy)/A+Mfz*6/(h*b*b); t22=Mfy/(a*h*b*b);
sr22=sqrt(s22*s22+4*t22*t22); //校核右曲轴臂D2点强度 printf(\
s33=(W-FBy)/A+Mfx*6/(h*h*b); t33=r*t22;
sr33=sqrt(s33*s33+4*t33*t33); //校核右曲轴臂D3点强度 printf(\if(s11<=i&&sr22<=i&&sr33<=i) printf(\右曲轴臂安全\\n\
Kt=1.2; Et=0.76; B=0.95; pt=0.05; T=160e6;
tmax=Mx*16/(Pi*((double)D/1000)*((double)D/1000)*((double)D/1000)); tmin=0;
R=tmin/tmax;
tm=(tmax+tmin)/2; ta=(tmax-tmin)/2;
nt=T/(Kt/(Et*B)*ta+pt*tm); printf(\if(nt>=n)
printf(\安全\\n\ //主轴颈的疲劳强度校核 }