[工程科技]強化復(fù)習(xí)之常用算法ppt課件_第1頁
[工程科技]強化復(fù)習(xí)之常用算法ppt課件_第2頁
[工程科技]強化復(fù)習(xí)之常用算法ppt課件_第3頁
[工程科技]強化復(fù)習(xí)之常用算法ppt課件_第4頁
[工程科技]強化復(fù)習(xí)之常用算法ppt課件_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、j=0;while(m0)aj+=m%n; m=m/n; 輾轉(zhuǎn)相除法r=m%n;while(r0)m=n;n=r;r=m%n;for(i=2;isqrt(m) “m為素數(shù)while( fabs(b-a)eps) h=(a+b)/2; if(f(h)= =0) break; if(f(a)*f(h)eps); 3x1=3;do x0=x1; x1=x0+(b-x0)/(f(b)-f(x0)*f(x0);while(fabs(x1-x0)eps); for(i=1;i行數(shù);i+) for(j=1;j第i行首字符位置;j+) printf(“ “); for(j=1;j第i行字符個數(shù);j+) pri

2、ntf(aij); printf(“n); * * * * * * * *變形:1假設(shè)圖形是左對齊,那么第二行可刪去; 2假設(shè)圖形不是左對齊,首先左對齊,再計算相關(guān)參數(shù); 升序for(i=0;in-1;i+) for(j=0;jaj+1) “交換aj,aj+1 變形:1降序 2每一輪求最小者 3當某一輪已有序,終止排序過程 4效率最低的排序; 5每一輪只比較一次; 被比較的兩個數(shù)一直相鄰 升序 for(i=0;in-1;i+) for(j=i+1;jaj) “交換ai,aj 每輪和同一個數(shù)比較 升序for(i=0;im) break; if(i=n-1) an-1=m; else for(j=

3、n-1;ji;i-) aj=aj-1; ai=m; 升序while(i n&jm) if(ai+bj+ ) ck+=bj; else ck+=ai+;ck+=bj+; if(in) for(i=j-1;im;i+) ck+=bi; else for(j=i-1;jn;j+) ck+=aj; a升序b升序c升序nmmain ( ) int s,t,l,no30,j,k,p30;float a306;for(j=0;j30;j+) pj=j; /*序號賦初值序號賦初值for(j=0;j30;j+) scanf(“ %d,&noj); for(s=0,k=0;k5;k+) /*第第J

4、個人的總分個人的總分*/ scanf(“ %d,&ajk);s+=ajk; aj5=(float)s/5; /*第第J個人的平均分個人的平均分*/ 30個學(xué)生5門成果 30個學(xué)生的編號 30個學(xué)生的成果排序for(j=0;j29;j+) /* 變形的選擇排序變形的選擇排序 */ l=j; /*每輪只交換一次每輪只交換一次*/ for(k=j+1;k30;k+) if(apl5apk5) l=k; t=pj;pj=pl;pl=t; for(k=0;k30;k+) for(j=0;j6;j+)printf(“%4d,%4.1f,nopk,apkj); printf(“n); #includ

5、e “string.hmain( ) char a100, *str10, *sp; int i,k; char *temp; sp=a; /*難點難點*/ for(i=0; i10; i+) printf(“Input a string(9 character):); gets(sp); stri=sp; sp+=10; 10個字符串都放在數(shù)組個字符串都放在數(shù)組a中中每個串的首地址放在字符指每個串的首地址放在字符指針數(shù)組針數(shù)組str中中aaabbbcccfor(k=0;k9;k+) for(i=k+1; i10; i+) if(strcmp(stri,strk)0 ) temp=stri;s

6、tri=strk;strk=temp; /*盡量少用盡量少用strcpy*/for(i=0; ileft) mid=(right+left)/2; if(amid= =m)p=1;break; /*找到找到*/ if(amid=right) return 0; /*沒找到?jīng)]找到*/ if(amidm) find(mid,right,m); lse find(left,mid,m); for(p=1,i=0;in;i+) min=ai0; for(j=0;jm;j+) if(aijmin) min=aij; k=j; for(j=0;jmin) p=0;break; 留意:(1)nn矩陣主要邊線

7、的方程; (2)矩陣的輸入和輸出; amnfor(i=0;in;i+)for(j=0;jn;j+) cij=0; for(k=0;k=0;i-) for(j=m;j=0;j-) ck=ai+bj+d; if(ck10)d=ck/10;ck=ck%10; k+; abc方法1:函數(shù)名不是形參 h=(b-a)/n;for(s=(f(a)+f(b)/2;i=1;in;i+) s+=f(a+i*h); s=s*h; abia+i*hf1*h+ f2*h+ f2*h+=(f1+f2+f3+)*h方法2:函數(shù)名是形參 float integer( float (*f)( ),float a,float b

8、,int n)float h, s; int i; h=(b-a)/n; for(s=(*f)(a)+(*f)(b)/2;i=1;ieps) s+=t; t=t*x/k+; 方法2: t=x;s=0;k=1; while(fabs(t)eps) s+=t; m=1;n=1;k+; for(i=1;i=k;i+) m=m*i; n=n*x; t=m/n; 23s=x+ + +.+ +.2!3!kxxxkmnt23(k+1)35s=x- + -.+(-1)+.2! 3!24s=x+ + +.3!5!kxxxkxx擴展:p=1;left=0;right=strlen(m);while(left0)n

9、+=n*10+a%10;a=a/10; if(m= =n)“回文數(shù); m=12321m=12345main() char s81,*pi,*pj; int i,j,n; gets(s); pi= s; n=strlen(s); pj=s+n; 或或 while(*s+!=0); pj=s; while( pi!=pj )&(*pi+= =*pj-) ; if(pilenmax) strcpy(strmax,str); lenmax=len;len=0; puts(strmax); #include “stdio.hchar a100;int n,i,big,f,t;testword(

10、) int j,k;char c,s26= ; j=i; k=0; while(ai=a)&ai=z;c+) if(sc-97!= & sc-97!=0) k+; if(kbig) big=k;f=j;t=i-1; main( ) int n=-1; do n+;an=getchar( );while(an!=#); getchar( ); big=0; j=1; while(i=a)&ai=z)testword( ); else i+;for(i=f;i=n;i+)putchar(ai);putchar(n); #include “stdio.hmain( ) int

11、 i, maxlen,len; char inline10100,maxline100; FILE *fp; if(fp = =fopen(“myf1.out,ow)= =NULL) EXIT(1); for(i=0;i10;i+) gets(inlinei); fprintf(fp,%sn,inlinei); maxlen=0; for(i=0;imaxlen) strcpy(maxline,inlinei),maxlen=len; fprintf(fp,max string is:%sn maclen=%dn,maxline,maxlen);fclose(fp);strlenth(char

12、p; int len) len=0; while(plen!=0) +len; 建立鏈表前往鏈表頭指針,當鏈表的建立鏈表前往鏈表頭指針,當鏈表的值域為值域為-999時,建立鏈表過程終了時,建立鏈表過程終了 輸出變量:輸出變量:h指向鏈表頭。指向鏈表頭。 輸入變量:輸入變量:q指向新分配結(jié)點。指向新分配結(jié)點。 輔助變量:輔助變量:p指向鏈表尾。指向鏈表尾。主要思緒:主要思緒: (1)p-next=q; (2)p=q; (3)scanf(“%d,&p-data);(4)q=(struct student *)malloc(sizeof(struct student);102030hpq102030hqp102030hpq40102030hp40q闡明:1主函數(shù)改為子函數(shù)前往鏈表頭指針 struct student *creat returnh: 2用typedef struct student; REC; 可把 q=(struct student *)malloc(sizeof(struct student); 縮寫為: q=REC *mal

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論