C程序設(shè)計(jì)課件5.12_第1頁(yè)
C程序設(shè)計(jì)課件5.12_第2頁(yè)
C程序設(shè)計(jì)課件5.12_第3頁(yè)
C程序設(shè)計(jì)課件5.12_第4頁(yè)
C程序設(shè)計(jì)課件5.12_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

【例1】通過(guò)函數(shù)調(diào)用方式計(jì)算下列表達(dá)式的值。#include"stdio.h"floatfun(intn){inti,f=1;floats=0,t;

for(i=1;i<=n;i++){s+=f*t;/*將第i項(xiàng)累加到s*/f=-f;/*得到下一項(xiàng)的符號(hào)*/}returns;}voidmain(){intn;printf("n=");scanf("%d",&n);printf("%f\n",fun(n));}t=1.0/(2*i-1);/*得到第i項(xiàng)的絕對(duì)值*//*求前n項(xiàng)和函數(shù)*//*主函數(shù)*/程序1?【例2】通過(guò)函數(shù)調(diào)用方式計(jì)算high以內(nèi)的10個(gè)最大素?cái)?shù)之和。#include"stdio.h"intfun(inthigh){intsum=0,n=0,i;while(high>=2&&n<10){}returnsum;}voidmain(){inth;printf("high=");scanf("%d",&h);printf("sum=%d\n",fun(h));}/*求素?cái)?shù)和函數(shù)*//*主函數(shù)*/for(i=2;i<=high-1;i++)if(high%i==0)break;if(i>=high){n++;sum+=high;}high--;程序2?【例3】通過(guò)函數(shù)調(diào)用方式計(jì)算1!~20!之和。#include"stdio.h"doublesum(intn){doubles=0,t=1;inti;

for(i=1;i<=n;i++){}returns;}voidmain(){doublem;m=sum(20);printf("%f\n",m);}t*=i;/*得到i的階乘*/s+=t;/*將i的階乘累加到s*//*求階乘和函數(shù)*//*主函數(shù)*/程序3?ddc【例4】通過(guò)函數(shù)調(diào)用方式刪除字符串中的空格。

#include"stdio.h"delkg(char*s){char*p,*q;p=q=s;

while(*q){}*p='\0';}voidmain(){charstr[81];gets(str);delkg(str);printf("%s",str);}if(*q!='

')*p++=*q;/*當(dāng)前字符不是空格,前移*/q++;/*刪除空格函數(shù)*//*主函數(shù)*/程序4?\0pqcge\0ge【例5】通過(guò)函數(shù)調(diào)用方式統(tǒng)計(jì)英文句子中單詞的個(gè)數(shù)。

#include"stdio.h"fun(char*s){char*p;intword=0,num=0;p=s;

while(*p){}

returnnum;}voidmain(){charstr[81];gets(str);printf("num=%d\n",fun(str));}if(*p=='')word=0;elseif(word==0){num++;word=1;}p++;/*統(tǒng)計(jì)單詞函數(shù)*//*主函數(shù)*/程序5?pword=01owreou\0y(標(biāo)識(shí)當(dāng)前字符的前一個(gè)字符是否為空格)ahnum=0123【例6】通過(guò)函數(shù)調(diào)用方式分別計(jì)算n階矩陣主、次對(duì)角線元素和。

voidmain(){inta[N][N],i,j;for(i=0;i<N;i++)for(j=0;j<N;j++)scanf("%d",&a[i][j]);fun(a);printf("sum1=%d\nsum2=%d\n",sum1,sum2);}#include"stdio.h"#defineN4intsum1,sum2;/*全局變量,分別存放主、次對(duì)角線元素和*/fun(intx[][N]){inti;sum1=sum2=0;

for(i=0;i<N;i++){}}/*計(jì)算主、次對(duì)角線元素和函數(shù)*//*主函數(shù)*/sum1+=x[i][i];sum2+=x[i][N-i-1];程序6?#include"stdio.h"voidsqu(charx[],chary[]){inti=0,j=0,k;while(x[i]!='\0')

{

}}【例7】通過(guò)函數(shù)調(diào)用方式將一個(gè)字符串在另一個(gè)字符串中出現(xiàn)的字符刪除。如:chars1[20]="Iamaboy",s2[20]="youareaboy";則在s1中刪除s2存在的字符后,s1中字符串變?yōu)?Im"

。voidmain(){voidsqu(chara[],charb[]);chars1[20],s2[20];gets(s1);gets(s2);squ(s1,s2);printf("\n%s",s1);}while(y[j]!='\0'){

}i++;j=0;if(x[i]==y[j]){}elsej++;for(k=i;x[k]=x[k+1];k++);i--;break;/*刪除字符函數(shù)*//*主函數(shù)*/程序7?

②用R[i]的值與它前面的從R[i-1]開(kāi)始的元素值進(jìn)行比較,若R[i]的值小于它前面元素的值,則前面元素值后移一個(gè)位置,否則將R[i]的值存入空出的位置。記錄的有序序列從R[1..i-1]變?yōu)镽[1..i]。算法思想假設(shè)記錄序列R[1..n]的狀態(tài)為:

一趟直接插入排序的基本思想:監(jiān)視哨

①若R[i]的值小于R[i-1]的值,將R[i]臨時(shí)存儲(chǔ)到R[0]單元,作為監(jiān)視哨;i從2開(kāi)始,直到n為止,重復(fù)上述操作,R[1..n]全部有序。有序序列R[1..i-1]無(wú)序序列R[i..n]R[0]有序序列R[1..i]無(wú)序序列R[i+1..n]R[i]【例8】用直接插入排序,將一組整數(shù)由小到大排序。

]

[

]

[

[

]對(duì)整數(shù)序列{70,83,100,65,10,65,9},采用直接插入排序法進(jìn)行升序排序。初始序列:

R[0]70831006510659

7083第1趟:?100651065

9第2趟:?7083651065

9第3趟:?100>65>6583>657065<83<1001065

9

]

[第4趟:?100>10>1083>10701065

9>1065

]

[第5趟:?100>65>6583>65701096565

]

[第6趟:?100>9>983>9701096565>9>9>9100排序過(guò)程演示排序程序/*排序函數(shù)*//*主函數(shù)*/程序8?#include"stdio.h"#defineN11/*下標(biāo)為0的元素用作監(jiān)視哨*/

insertsort(inta[],intn){inti,j;

for(i=2;i<n;i++)

}voidmain(){intx[N],i;for(i=1;i<N;i++)scanf("%d",x+i);insertsort(x,N);for(i=1;i<N;i++)printf("%

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論