![基于MATLAB實現(xiàn)對結(jié)構(gòu)動力響應(yīng)的幾種算法的驗證_第1頁](http://file4.renrendoc.com/view/74b0a11ff63e4faf779dd48b65652355/74b0a11ff63e4faf779dd48b656523551.gif)
![基于MATLAB實現(xiàn)對結(jié)構(gòu)動力響應(yīng)的幾種算法的驗證_第2頁](http://file4.renrendoc.com/view/74b0a11ff63e4faf779dd48b65652355/74b0a11ff63e4faf779dd48b656523552.gif)
![基于MATLAB實現(xiàn)對結(jié)構(gòu)動力響應(yīng)的幾種算法的驗證_第3頁](http://file4.renrendoc.com/view/74b0a11ff63e4faf779dd48b65652355/74b0a11ff63e4faf779dd48b656523553.gif)
![基于MATLAB實現(xiàn)對結(jié)構(gòu)動力響應(yīng)的幾種算法的驗證_第4頁](http://file4.renrendoc.com/view/74b0a11ff63e4faf779dd48b65652355/74b0a11ff63e4faf779dd48b656523554.gif)
![基于MATLAB實現(xiàn)對結(jié)構(gòu)動力響應(yīng)的幾種算法的驗證_第5頁](http://file4.renrendoc.com/view/74b0a11ff63e4faf779dd48b65652355/74b0a11ff63e4faf779dd48b656523555.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 基于 MATLAB 實現(xiàn)對結(jié)構(gòu)動力響應(yīng)的幾種算法的驗證算例 首先,本文給出一算例, 結(jié)構(gòu)在外力諧振荷載 P(t) = P0 sint 作用下,分別利用理論解法,杜哈梅積分, Wilson- 法求出該結(jié)構(gòu)的位移時程反應(yīng)。其中:m = 3.5103 kg , P0 = 1.0104 N , k =1.3584515107 ,=0.05 ,=52.3s1 ,=62.3s1 , = 1-2 =62.222 ,初始位移、速度v(0) = 0 ,v(0) = 0 ;算法驗證 2.1 理論解法 運動方程為: mv+cv+kv=sin由線性代數(shù)解出其理論解為:由于初始位移v(0) =0 ,v(0) =0 ;
2、則: v(t ) =1.052698986.230cos62.222t 18.106sin 62.222t +2.012808757 1146sin 52.3t 325.829cos52.3t 可以用 MATLAB 進行編程分析,畫圖位移時程圖,詳細程序見附錄。 2.2Wilson-法 Wilson-法是Wilson于1966年基于線性加速度法的基礎(chǔ)上提出一種無條件收斂的計算方法。該方法假定在時程步長內(nèi),體系的加速度反應(yīng)按線性變化。對于地震持續(xù)時間內(nèi)的每一個微小時 段 ,從第一時段開始到最后一個時段,逐一的重復(fù)以下計算步驟,即得到結(jié)構(gòu)地震反應(yīng)的全過程。下面以第i+1時段()為例:2.3 杜哈梅
3、積分 杜哈梅積分在考慮阻尼的情況是: 可以用 MATLAB 進行編程分析,畫圖位移時程圖,詳細程序見附錄。 3. 位移時程反應(yīng)對比分析利用 MATLAB 將理論解法,杜哈梅積分, Wilson- 法求解出來的位移時程反應(yīng)畫在同一張圖 中,進行比較分析。 從圖中可以看出,以上三種方法得出來的位移時程曲線基本吻合,誤差基本保持在 5%以內(nèi),所以以上幾種方法在求解相關(guān)問題上都具有一定的作用效力。結(jié)論 本文通過一個簡單的單自由度系統(tǒng)動力分析算例(僅作位移分析,其它分析雷同),基于 MATLAB,將理論解法,杜哈梅積分法,逐步積分法(本文采用 Wilson- 法)進行相互驗證,從最后的位移分析圖對比上,
4、可以很好的看出三種方法均能很好的彼此驗證,從而說明了三種方法在相關(guān)問題上的作用效力。附錄:MATLAB 源程序%理論解,杜哈梅積分,Wilson-法程序clc; clear h1=figure(8); set( h1, color,w) %理論解法t=0:0.01:1; v=1.05269898*10(-4)*exp(-3.115*t).*(6.230*cos(62.222*t)-18.106*sin(62.222*t)+2.012808757*10(-6)*(1146*sin(52.3*t)-325.829*cos(52.3*t); plot(t,v,k) hold on %杜哈梅積分法aa
5、=1;%輸入時間長度bb=0.01;%輸入精度t=bb:bb:aa; t1=t; theta=52.3;%輸入荷載頻率w=62.3;%輸入自振頻率m=3500;%輸入質(zhì)量p0=10000;%輸入荷載幅值p0=p0*ones(1,aa/bb); p=p0.*sin(theta*t);%荷載函數(shù)for i=1:(aa/bb) for j=1:i canshu1(j)=p(j)/(m*w)*bb*sin(w*(t(i)-t1(j);%杜哈梅積分中的被積函數(shù)end y(i)=sum(canshu1);%位移值end for i=1:aa/bb-1 v1(i)=(y(i+1)-y(i)/bb;%計算速度
6、end for i=1:(aa/bb-2) a(i)=(v1(i+1)-v1(i)/bb;%計算加速度end hold on plot(t,y,r)%畫位移圖hold on %Wilson-法dt=0.01; ct=1.4;ndzh=100; k=13584515; c=21805; t=0:dt:ndzh*dt; ag=10000*sin(52.3*t); ag1=ag(1:ndzh); ag2=ag(2:ndzh+1); agtao=ct*(ag2-ag1); wyi1=0; sdu1=0; jsdu1=0; wyimt=0; sdumt=0; jsdumt=0; for i=1:ndzh
7、 kxin=k+(3/(ct*dt)*c+(6/(ct*ct*dt*dt)*m; %kxin為新的剛度dpxin=-m*agtao(i)+m*(6/(ct*dt)*sdu1+3*jsdu1)+c*(3*sdu1+ct*dt/2*jsdu1); %新的力增量dxtao=kxindpxin; dtjsdu=6*dxtao/(ct*(ct2*dt2)-6*sdu1/(ct*ct*dt)-(3/ct)*jsdu1; jsdu=jsdu1+dtjsdu; dtsdu=(dt/2)*(jsdu+jsdu1); sdu=sdu1+dtsdu; dtwyi=dt*sdu1+(1/3)*dt2*jsdu1+(d
8、t2/6)*jsdu; wyi=wyi1+dtwyi; jsdu=-m(m*ag2(i)+c*sdu+k*wyi); % 調(diào)整加速度wyi1=wyi; sdu1=sdu; jsdu1=jsdu; wyimt=wyimt wyi; sdumt=sdumt sdu; jsdumt=jsdumt jsdu; end plot(t,-wyimt/3000,b); hold off legend(fontsize9fontname 黑體 理論解,fontsize9fontname黑體 杜哈梅積分法,fontsize9fontname黑體 wilson-theta法)%基于雙線性滯回模型的單自由度體系的地
9、震能量分析程序 %質(zhì)量57041kg,阻尼36612 Ns/m,初始剛度2350000N/m,剛度折減 系數(shù)0.2,屈服位移0.01m,采用ELCENTRO波%參數(shù)替換直接在下面修改,然后運行clc format long; m=57041;%質(zhì)量ug=importdata(ELCENTRO.txt);%地震波txt 文件ug=ug/100; P=-m*ug; num=size(P,1); c=36612;%阻尼k1=2350000;%初始剛度k2=k1*0.2; a=zeros(1,num);v=zeros(1,num);x=zeros(1,num);%加速度 速度 位移Ei=zeros(1
10、,num);Ek=zeros(1,num);Ed=zeros(1,num);Eh=zeros(1,num);%輸入能 動能 阻尼耗能 滯回耗能EI=zeros(1,num);EK=zeros(1,num);ED=zeros(1,num);EH=zeros(1,num);%累積的各種能量time=zeros(1,num); a(1)=P(1)/m; hfl=zeros(1,num); h=0.02;%地震波采樣間隔Xy=0.01;%屈服位移pxmax=0; nxmax=0; pd=0;%雙線型滯回模型折線的標識,0表示彈性,1表示正向彈塑性,2表示反向彈性,-1表示反向彈塑性,-2表示正向彈性f
11、or ii=1:num if pd=0 %彈性階段 k=k1; if x(ii)Xy pd=1; b=(a(ii)-a(ii-1)/6/h a(ii-1)/2 v(ii-1) x(ii-1)-Xy;% 拐點處理 d=roots(b); for j=1:length(d) if isreal(d(j)=1 dth=d(j); end end hp=h-dth; vp=v(ii-1)+a(ii-1)*dth+(a(ii)-a(ii-1)*dth2/h/2); ap=a(ii-1)+(a(ii)-a(ii-1)*dth/h; pp=m*ap+c*vp+k1*Xy; kd=k2+3*c/hp+6*m/
12、hp/hp; dtpd=P(ii+1)-pp+m*(6*vp/hp+3*ap)+c*(3*vp+hp*ap/2); dtx=dtpd/kd; dtv=3*dtx/hp-3*vp-hp*ap/2; x(ii)=Xy+dtx; v(ii)=vp+dtv; dtf=k2*dtx; hfl(ii)=k1*Xy+dtf; a(ii)=(P(ii)-hfl(ii+1)-c*v(ii)/m; elseif x(ii)-Xy pd=-1; b=(a(ii)-a(ii-1)/6/h a(ii-1)/2 v(ii-1) x(ii-1)+Xy;% 拐點處理 d=roots(b); for j=1:length(d)
13、 if isreal(d(j)=1 dth=d(j); end end hp=h-dth; vp=v(ii-1)+a(ii-1)*dth+(a(ii)-a(ii-1)*dth2/h/2); ap=a(ii-1)+(a(ii)-a(ii-1)*dth/h; pp=m*ap+c*vp-k1*Xy; kd=k2+3*c/hp+6*m/hp/hp; dtpd=P(ii+1)-pp+m*(6*vp/hp+3*ap)+c*(3*vp+hp*ap/2); dtx=dtpd/kd; dtv=3*dtx/hp-3*vp-hp*ap/2; x(ii)=-Xy+dtx; v(ii)=vp+dtv; dtf=k2*d
14、tx; hfl(ii)=-k1*Xy+dtf; a(ii)=(P(ii)-hfl(ii)-c*v(ii)/m; end end i f pd=1 %正向彈塑性 k=k2; if v(ii)pxmax pd=1; b=(a(ii)-a(ii-1)/6/h a(ii-1)/2 v(ii-1) x(ii-1)-pxmax;% 拐點處理 d=roots(b); for j=1:length(d) if isreal(d(j)=1 dth=d(j); end end hp=h-dth;vp=v(ii-1)+a(ii-1)*dth+(a(ii)-a(ii-1)*dth2/h/2); ap=a(ii-1)+
15、(a(ii)-a(ii-1)*dth/h; pp=m*ap+c*vp+k1*Xy+k2*(pxmax-Xy); kd=k2+3*c/hp+6*m/hp/hp; dtpd=P(ii+1)-pp+m*(6*vp/hp+3*ap)+c*(3*vp+hp*ap/2); dtx=dtpd/kd; dtv=3*dtx/hp-3*vp-hp*ap/2; x(ii)=pxmax+dtx; v(ii)=vp+dtv; dtf=k2*dtx; hfl(ii)=k1*Xy+k2*(pxmax-Xy)+dtf; a(ii)=(P(ii)-hfl(ii)-c*v(ii)/m; elseif x(ii)0 pd=-2;
16、b=(a(ii)-a(ii-1)/2/h a(ii-1) v(ii-1);% 拐點處理 d=roots(b); for j=1:length(d) if isreal(d(j)=1 dth=d(j); end end hp=h-dth; xp=x(ii-1)+v(ii-1)*dth+a(ii-1)*dth2/2+(a(ii)-a(ii-1)*dth3/h/6; ap=a(ii-1)+(a(ii)-a(ii-1)*dth/h; pp=m*ap+c*0-k1*Xy+k2*(xp+Xy); kd=k1+3*c/hp+6*m/hp/hp; dtpd=P(ii+1)-pp+m*(6*0/hp+3*ap)
17、+c*(3*0+hp*ap/2); dtx=dtpd/kd; dtv=3*dtx/hp-3*0-hp*ap/2; x(ii)=xp+dtx; v(ii)=0+dtv; dtf=k1*dtx; hfl(ii)=-k1*Xy+k2*(xp+Xy)+dtf; a(ii)=(P(ii)-hfl(ii)-c*v(ii)/m; nxmax=x(ii); end end if pd=-2 %正向彈性 k=k1; if x(ii)(nxmax+2*Xy) pd=1; b=(a(ii)-a(ii-1)/6/h a(ii-1)/2 v(ii-1) x(ii-1)-nxmax-2*Xy;% 拐點處理 d=roots
18、(b); for j=1:length(d) if isreal(d(j)=1 dth=d(j); end end hp=h-dth; vp=v(ii-1)+a(ii-1)*dth+(a(ii)-a(ii-1)*dth2/h/2); ap=a(ii-1)+(a(ii)-a(ii-1)*dth/h; pp=m*ap+c*vp+(k1*Xy+nxmax*k2+Xy*k2); kd=k2+3*c/hp+6*m/hp/hp; dtpd=P(ii+1)-pp+m*(6*vp/hp+3*ap)+c*(3*vp+hp*ap/2); dtx=dtpd/kd; dtv=3*dtx/hp-3*vp-hp*ap/2
19、; x(ii)=nxmax+2*Xy+dtx; v(ii)=vp+dtv; dtf=k2*dtx; hfl(ii)=k1*Xy+nxmax*k2+Xy*k2+dtf; a(ii)=(P(ii)-hfl(ii)-c*v(ii)/m; end end i f ii=num break; end kd=k+3*c/h+6*m/h/h; dtpd=P(ii+1)-P(ii)+m*(6*v(ii)/h+3*a(ii)+c*(3*v(ii)+h*a(ii)/2); dtx=dtpd/kd; dtv=3*dtx/h-3*v(ii)-h*a(ii)/2; x(ii+1)=x(ii)+dtx; v(ii+1)=
20、v(ii)+dtv; dtf=k*dtx; hfl(ii+1)=hfl(ii)+dtf; a(ii+1)=(P(ii+1)-hfl(ii+1)-c*v(ii+1)/m; Ei(ii+1)=-m*ug(ii+1)*v(ii+1)*h; Ed(ii+1)=c*v(ii+1)2*h; Ek(ii+1)=m*a(ii+1)*v(ii+1)*h; Eh(ii+1)=hfl(ii+1)*v(ii+1)*h; for jj=1:num-1 EI(jj+1)=EI(jj)+Ei(jj+1); ED(jj+1)=ED(jj)+Ed(jj+1); EK(jj+1)=EK(jj)+Ek(jj+1); EH(jj+1
21、)=EH(jj)+Eh(jj+1); end end for j=1:num time(j)=h*(j-1); end fid=fopen(EL波彈塑性各種能.txt,wt); %輸出結(jié)果到EL波彈塑性各種能.txt fprintf(fid,%g %g %g %g%gn,time;EI;ED;EH;EK); fclose(fid); plot(time,EI); hold on plot(time,ED); hold on plot(time,EK); hold on plot(time,EH); 附錄資料:不需要的可以自行刪除c語言典型問題處理方法小結(jié)循環(huán)問題(1)、數(shù)論問題1、求素數(shù) fo
22、r(i=2;i1,如果它僅有平凡約數(shù)1和a,則我們稱a為素數(shù)(或質(zhì)數(shù))。整數(shù) 1 被稱為基數(shù),它既不是質(zhì)數(shù)也不是合數(shù)。整數(shù) 0 和所有負整數(shù)既不是素數(shù),也不是合數(shù)。 2、求最大公約數(shù)和最小公倍數(shù)a、 if(ab) t=a; a=b; b=t; for(i=a;i=1;i-) if(a%i=0&b%i=0) break; printf(largest common divisor:%dn,i); printf(least common multiple:%dn,(a*b)/is);b、輾轉(zhuǎn)相除法求解 a1=a; b1=b; while(a%b!=0) t=a%b; a=b; b=t; print
23、f(largest common divisor:%dnleast common multiple:%d,b,a1*b1/b);3、求完數(shù) 一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。 例如:6的因子為1、2、3,而6123,因此6是“完數(shù)”。for(a=1;a=1000;a+) s=0; for(i=1;i=a) break; if(s=a) printf(%dt,a);注意S=0所放的位置 4、分解質(zhì)因數(shù) 將一個整數(shù)寫成幾個質(zhì)因數(shù)的連乘積,如: 輸入36,則程序輸出36=2*2*3*3 。解一、看似簡單,但要自己完整地寫出來還真不容易!竟然還動用了goto語句,正好可以熟悉一下g
24、oto語句的用法!main() int a,z,i; clrscr(); scanf(%d,&a);判斷下一個數(shù)開始有要重新從2開始了。所以用loop語句回到for語句,這是for語句仍從2初始化。從2開始的原則不變,變的是a的值。 loop: for(z=2;z=a;z+)判斷是否為質(zhì)數(shù)for(i=2;i=z;i+) if(z%i=0) break;判斷是否為a的質(zhì)因數(shù) if(z=i) if(a%z=0) k+; if(k=1) printf(%d=%d,a1,z);用計數(shù)器來解決每行輸入不同的問題。 else printf(*%d,z); a/=z; goto loop; 解二:main(
25、) int n, k=2, isfirst=1; printf(Input n=); scanf(%d,&n); while(k=n) if(n%k=0) if(isfirst) printf(%d=%d, n, k); isfirst=0; else printf(*%d,k); n/=k; else k+; printf(n);5、從鍵盤輸入兩個整數(shù),輸出這兩個整數(shù)的商的小數(shù)點后所有1000位整數(shù) for(i=1;i=2;i-) if(fm%i=0&fz%i=0) fz/=i; fm/=i; z=fz/fm; fzx=fz%fm; if(fzx=0) printf(%d%d/%d-%d%d
26、/%d=%dn,z1,fz1,fm1,z2,fz2,fm2,z); else if(z=0) printf(%d%d/%d-%d%d/%d=%d/%dn,z1,fz1,fm1,z2,fz2,fm2,fzx,fm); else printf(%d%d/%d-%d%d/%d=%d%d/%dn,z1,fz1,fm1,z2,fz2,fm2,z,fzx,fm);(2)近似問題1、書P122習(xí)題4-6注意千萬不要忘記添加#include “math.h”#include math.hmain() float x,j=1,k,s,so; int n; scanf(%f,&x); s=x; so=x+1; f
27、or(n=1;fabs(s-so)1e-6;n+) for(k=1;k1e-6) x=(x1+x2)/2; f=x*x*x+4*x*x-10;可以用/*if(f*f10) x2=x; else x1=x; printf(%fn,x);(3)枚舉法(4)數(shù)列問題二、數(shù)組問題(1)排序問題1、從小到大排序main() int a10,i,j,t; for(i=0;i10;i+) scanf(%d,&ai); for(i=1;i10;i+) for(j=0;jaj+1) t=aj+1;aj+1=aj;aj=t; for(i=0;i10;i+) printf(%d ,ai); printf(n);注意
28、排序問題:1、須迅速,熟練,無差錯經(jīng)常插入在程序中間2、現(xiàn)使用最大數(shù)下沉冒泡法還可以使用最小數(shù)上浮冒泡法3、j控制前面一個數(shù)和后面一個數(shù)一一比較。由于是最大數(shù)下沉,i+1后j仍要從0開始。4、i控制這樣的操作一共要做多少次5、注意i j的控制次數(shù)2、從大到小排序main()現(xiàn)使用最大數(shù)上浮冒泡法還可使用最小數(shù)下沉冒泡法 int a10,i,j,t; for(i=0;i10;i+) scanf(%d,&ai); for(i=1;i=i;j-) if(ajaj-1) t=aj-1; aj-1=aj; aj=t; for(i=0;i10;i+) printf(%d ,ai);(2)二維數(shù)組三、字符或
29、字符串輸入輸出問題(1)字符打印1、打印*此類題的溯源為書P122 4.11(1),其他題都是它的拓展 for (i=1;i=n;i+) 一共要輸出的行數(shù) for(j=1;j=i;j+) 每行要打印的*數(shù) printf(*); printf(n); a、*解題要點:此類題關(guān)鍵在于找到每行要打印的個數(shù)和行數(shù)的關(guān)系。此題j=i j=n-i+1b、* for(i=1;i=n;i+) 一共要輸出的行數(shù) for(j=1;j=n-i;j+) 控制空格數(shù) printf( ); for(k=1;k=i;k+) 每行要打印的*數(shù) printf(*); printf(n); c、 * * *解題要點:在出現(xiàn)空格的
30、時候,在找到每行要打印的*個數(shù)和行數(shù)的關(guān)系后,還應(yīng)找到空格和行數(shù)的關(guān)系,分不同的參數(shù)進行循環(huán)。此題k=i j=n-i j=i-1k=n-i+1d、* * for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf( ); for(k=1;k=2*i-1;k+) printf(*); printf(n); * *e、 * * * for(i=1;i=n-1;i+) for(j=1;j=i;j+) printf( ); for(k=1;k=2*(n-1-i)+1;k+) printf(*); printf(n); for(i=1;i=n;i+) for(j=1;j=n-i;j
31、+) printf( ); for(k=1;k=2*i-1;k+) printf(*); printf(n); * * * * * *2、打印9*9乘法表解題要點:注意尋找行與列的規(guī)律。i*ji代表列j代表行for(i=1;i=9;i+) for(j=1;j=9;j+) printf(%-3d ,i*j); 注意輸出格式的控制 printf(n); 3、九九乘法表1 2 3 4 5 6 7 8 92 4 6 8 10 12 14 16 183 6 9 12 15 18 21 24 27 9 18 27 36 45 54 63 72 814、楊暉三角形11 11 2 11 3 3 11 4 6
32、4 11 5 10 10 5 11 6 15 20 15 6 1(2)字符串打印問題for(i=1;i=7;i+) ai1=1; aii=1; for(i=3;i=7;i+) for(j=2;j=i-1;j+) aij=ai-1j-1+ai-1j; gets(a); puts(a); for(i=1;i0;j-) aj=aj-1; a0=t; for(k=0;k=a&ai=z) ai-=32; puts (a);3、逆序輸出gets (a); c=strlen(a); for(i=0;i=0;i-) 藍色部分可以簡寫為綠色部分coutai-1;4、如輸入:ab1 3,;z 輸出:ab1注意點:
33、1、= =2、while語句的使用處體會3、全面考慮問題 3,;zgets(a); while(a0= ) for(i=0;ai!=0;i+) ai=ai+1; for(i=0;ai!=0;i+)if(ai= &ai+1!= ) printf(n); else if(ai= &ai+1= ) for(k=i;ak!=0;k+) ak+1=ak+2; i-; elseprintf(%c,ai);5、輸入3個字符串,按從小到大排序輸出這3個字符串。 使用一個兩維數(shù)組貯存多個字符串char a8181;注意:如何使用一個兩維數(shù)組貯存多個字符串 int i,j; for(i=0;i3;i+) gets
34、(ai); for(i=0;i3;i+) puts(ai);注意:1、scanf(%d%s,&n,str) 其中%s為字符串格式2、逐個給字符串賦值的方法見書140頁。 不可for(i=0;ai!=0;i+)3、stri=stri-A+10;4、pow函數(shù)5、任何進制轉(zhuǎn)為十進制的方法6、輸入一個整數(shù)n和一個字符串str,計算并輸出n進制數(shù)str的值。 如輸入:7 16則輸出:13(16)7=(13)10如輸入:16 3A則輸出:58(3A)16=(58)10#include stdio.h#include math.hmain() char str81; int n,i,s=0,t; clrs
35、cr(); scanf(%d%s,&n,str); for(i=0;stri!=0;i+) if(stri=A) stri=stri-A+10; else stri=stri-0; t=strlen(str); for(i=0;stri!=0;i+) s+=strt-i-1*pow(n,i); printf(%d,s);編寫程序,將一個十進制正整數(shù)轉(zhuǎn)換成十六進制數(shù)。 注意類比#include main()char a20;int x,i=0,j;clrscr();scanf(%d,&x);while(x) if(x%16=10&x%16=0;j-)printf(%c,aj);printf(n)
36、;7、輸入一個字符串,將其中的縮寫形式展開,并輸出展開后的該字符串。所謂展開縮寫形式就是將其中由大小寫字母或數(shù)字構(gòu)成的形如a-f、U-Z、3-8 的形式展開成為 abcdef 、UVWXYZ 、345678,若出現(xiàn)f-a、A-7、9-5等形式則不予理睬。例如: 輸入:qwe246e-hA-d$-%4-7A-Dz-xp-R4-0輸出:qwr246efghA-d$-%4567ABCDz-xp-R4-0main() char a81; int i,c,s,k,t; gets(a); for(i=0;ai!=0;i+) if(ai=-) if(ai-1=A&ai+1=a&ai+1=0&ai+1i;k-
37、)ak+c-2=ak;as-1+c-2+1=0; for(;i=t;i+) ai=ai-1+1; puts(a);補充:循環(huán):求:a+aa+aaa+.的值#includevoid main()int a,n,i=1,sn=0,tn=0;coutinput a and nan;while(i=n)tn=tn+a;sn+=tn;a*=10;i+;coutthe answer is snendl;兩個乒乓球隊進行比賽,各出3人。甲隊為A,B,C;已對是X,Y,Z;已經(jīng)抽簽決定比賽名單。有人向隊員大廳比賽的名單。A說他不和X比,C說他不和X,Z比。請編程序找出3對賽手的名單。#includevoid
38、main()char i,j,k;for(i=X;i=Z;i+)for(j=X;j=Z;j+)if(i!=j)for (k=X;k=Z;k+)if(i!=k&j!=k)if(i!=X&k!=X&k!=Z)coutA-i B-j C-kendl;枚舉口袋中有紅,黃,藍,白,黑5種顏色的球若干。每次從口袋中任意取出3歌,問得到3種不同顏色球的可能取法,輸出每種排列的情況。#include#include /在C語言中不用加這句void main()enum colorred ,yellow ,blue,white, black;color pri;int i,j,k,n=0,loop;for(i=
39、red;i=black;i+)for(j=red;j=black;j+)if(i!=j)for (k=red;k=black;k+)if(k!=i)&(k!=j)n+;coutsetw(3)n; /setw是輸出格式的限定for(loop=1;loop=3;loop+)switch(loop)case 1:pri=color(i);break;case 2:pri=color(j);break;case 3:pri=color(k);break;default:break;switch(pri)case red:coutsetw(8)red;break;case yellow:coutsetw(8)yellow;break;case blue:coutsetw(8)blue;break;case white:coutsetw(8)white;break;case black:coutsetw(8)black;break;default:break;coutendl;couttotal:nendl;數(shù)組:不用strcat函數(shù),編寫程序,將兩個字符串串接起來。#includeusing namespace std;voi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個體工商戶租賃合同模板標準版
- 個人養(yǎng)老金保險合同權(quán)益與義務(wù)全解析
- 中外技術(shù)合作研發(fā)合同(三)
- 2025年建筑工程施工框架協(xié)議書范本
- 臨時保安人員聘用合同范文
- 個人股權(quán)轉(zhuǎn)讓合同模板及寫作范例
- 數(shù)字內(nèi)容產(chǎn)業(yè)創(chuàng)新發(fā)展戰(zhàn)略合作框架協(xié)議
- 公司消防栓整改合同
- 個人住房公積金委托貸款合同范本
- 汽車售后合作服務(wù)協(xié)議
- 高考英語單詞3500(亂序版)
- 《社區(qū)康復(fù)》課件-第五章 脊髓損傷患者的社區(qū)康復(fù)實踐
- 北方、南方戲劇圈的雜劇文檔
- 燈謎大全及答案1000個
- 白酒銷售經(jīng)理述職報告
- 部編小學(xué)語文(6年級下冊第6單元)作業(yè)設(shè)計
- 洗衣機事業(yè)部精益降本總結(jié)及規(guī)劃 -美的集團制造年會
- 2015-2022年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招語文/數(shù)學(xué)/英語筆試參考題庫含答案解析
- 2023年菏澤醫(yī)學(xué)??茖W(xué)校單招綜合素質(zhì)模擬試題及答案解析
- 鋁合金門窗設(shè)計說明
- 小學(xué)數(shù)學(xué)-三角形面積計算公式的推導(dǎo)教學(xué)設(shè)計學(xué)情分析教材分析課后反思
評論
0/150
提交評論