《哈尔滨工业大学材料力学编程题c语言程序》由会员分享,可在线阅读,更多相关《哈尔滨工业大学材料力学编程题c语言程序(15页珍藏版)》请在金锄头文库上搜索。
1、材料力学上机课程作业:C语言编写1一个力作用下的任意截面的弯矩,挠度。程序:#include #includedouble Mz,l,a,x,v,E,I,b,F;main()printf(请输入长度ln);scanf(%lf,&l);printf(请输入长度an);scanf(%lf,&a);printf(请输入弹性模量En);scanf(%lf,&E);printf(请输入极惯性矩In);scanf(%lf,&I);printf(请输入力Fn);scanf(%lf,&F);printf(请输入xn);scanf(%lf,&x);b=l-a;if(x0&xa&xl)Mz=F*a*(l-x)/l
2、;v=-F*b*(l/b*pow(x-a,3)+(l*l-b*b)*x-x*x*x)/(6*E*I*l);printf(Mz=%fn,Mz);printf(v=%fn,v);elseprintf(數值溢出n);运算结果:选取材料的L=1m,E=4.5GPa。I=0.0001,F=1000N,a=0.6m,x=0.4m;Mz=160.00NmV=-0.000040m2.一个力偶作用下的任意截面的弯矩,挠度。编程:#include #includedouble Mz,l,a,x,v,E,I,b,M;main() printf(请输入长度ln); scanf(%lf,&l); printf(请输入长
3、度an); scanf(%lf,&a); printf(请输入弹性模量En); scanf(%lf,&E); printf(请输入极惯性矩In); scanf(%lf,&I); printf(请输入弯矩Mn); scanf(%lf,&M); printf(请输入xn); scanf(%lf,&x); b=l-a; if(x0&xa&xl) Mz=M*(l-x)/l; v=M*(-x*x*x+3*l*(x-a)*(x-a)+(l*l-3*b*b)*x); printf(Mz=%fn,Mz); printf(v=%fn,v); else printf(數值溢出n); 运算结果:选取材料的L=1m,
4、E=4.5GPa。I=0.0001,M=1000Nm,a=0.6m,x=0.4m;Mz=400.00NmV=0.000053m3.一段分布力作用下的任意截面的弯矩挠度编程:#include #includedouble q,l,c,d,x,E,I,v,Mz;double C,D,Ec,Fc;double FR1,FR2;/*函数功能:奇异函数*/double qiyi(double x,double y)if(xy)return x-y;main() printf(请输入长度ln); scanf(%lf,&l); printf(请输入弹性模量En); scanf(%lf,&E); printf
5、(请输入极惯性矩In); scanf(%lf,&I); printf(请输入分布力qn); scanf(%lf,&q); printf(请输入长度cn); scanf(%lf,&c); printf(请输入长度dn); scanf(%lf,&d); printf(请输入xn); scanf(%lf,&x);C=qiyi(x,c);D=qiyi(x,d);FR2=(-q*(d*d-c*c)/2)/l;/求支反力FR1=-q*(d-c)-FR2;Ec=-(FR1*pow(l,3)/6-q*pow(l-c,4)/24+q*pow(l-d,4)/24)/E/I/l;Fc=0;Mz=(FR1*x-0.5
6、*q*C*C+0.5*q*D*D);v=(FR1*pow(x,3)/6-q*pow(C,4)/24+q*pow(D,4)/24)/E/I+Ec*x;printf(截面的弯矩为:%fn,Mz);printf(截面的挠度为:%fn,v);运算结果:选取材料的L=1m,E=4.5GPa。I=0.0001,q=1000N,c=0.6m,d=0.8m,x=0.4m;Mz=-24.00NmV=0.000008m4.n个力共同作用下的任意截面的弯矩,挠度。编程:#include #includedouble Mzs,l,a10,x,vs,E,I,F10,Mz10,v10;int i,nF;main()pri
7、ntf(请输入长度ln);scanf(%lf,&l);printf(请输入弹性模量En);scanf(%lf,&E);printf(请输入极惯性矩In);scanf(%lf,&I);printf(请输入集中载荷F的个nF:);scanf(%d,&nF);printf(请输入集中载荷F的值和位置a:);for(i=0;inF;i+)scanf(%lf%lf,&Fi,&ai);printf(请输入xn);scanf(%lf,&x);for(i=0;i0&xai&xl)Mzi=Fi*ai*(l-x)/l;vi=-Fi*(l-ai)*(l/(l-ai)*pow(x-ai,3)+(l*l-(l-ai)*
8、(l-ai)*x-x*x*x)/(6*E*I*l);Mzs=Mzs+Mzi;vs=vs+vi; printf(截面的弯矩为%f,Mzs); printf(截面的挠度为%f,vs);运算结果:选取材料的L=1m,E=4.5GPa。I=0.0001,F1=1000N,F2=2000N,a1=0.6m,a2=0.8m,x=0.4m;Mz=320.00NmV=-0.000088m5.h个力偶共同作用作用下的任意截面的弯矩,挠度编程:#include #includedouble Mz10,l,b10,x,v10,E,I,M10,Mzs,vs;int i,nM;main() printf(请输入长度ln
9、); scanf(%lf,&l); printf(请输入弹性模量En); scanf(%lf,&E); printf(请输入极惯性矩In); scanf(%lf,&I);printf(请输入外力偶M的个数nM);scanf(%d,&nM);printf(请输入外力偶值和位置b:);for(i=0;inM;i+)scanf(%lf%lf,&Mi,&bi); printf(请输入xn); scanf(%lf,&x); for(i=0;i0&xbi&xl) Mzi=Mi*(l-x)/l; vi=Mi*(-x*x*x+3*l*(x-bi)*(x-bi)+(l*l-3*(l-bi)*(l-bi)*x);
10、 Mzs=Mzs+Mzi;vs=vs+vi; printf(截面的弯矩为%f,Mzs); printf(截面的挠度为%f,vs);运算结果:选取材料的L=1m,E=4.5GPa。I=0.0001,M1=1000Nm,M2=2000Nm,b1=0.6m,b2=0.8m,x=0.4m;Mz=1200.00NmV=-0.000267m6.m段分布力共同作用下的任意截面的弯矩,挠度编程:#include #includedouble q10,l,c10,d10,x,E,I,v10,Mz10,Mzs,vs;double C10,D10,Ec10,Fc10;double FR110,FR210;int i,nq;/*函数功能:奇异函数*/double qiyi(double x,double y)if(xy)return x-y;main() printf(请输入长度ln); scanf(%lf,&l); printf(请输入弹性模量En); scanf(%lf,&E); printf(请输入极惯性矩In);