北京交通大學(xué)C語言綜合程序設(shè)計(jì)黃宇班_第1頁
北京交通大學(xué)C語言綜合程序設(shè)計(jì)黃宇班_第2頁
北京交通大學(xué)C語言綜合程序設(shè)計(jì)黃宇班_第3頁
北京交通大學(xué)C語言綜合程序設(shè)計(jì)黃宇班_第4頁
北京交通大學(xué)C語言綜合程序設(shè)計(jì)黃宇班_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余7頁可下載查看

下載本文檔

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

文檔簡介

1、綜合程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康?1) 培養(yǎng)和鍛煉對具有一定復(fù)雜度和規(guī)模的問題的分析與求解能力。(2) 掌握程序設(shè)計(jì)的綜合方法,能綜合應(yīng)用各種數(shù)據(jù)類型實(shí)現(xiàn)較復(fù)雜數(shù)據(jù)的存儲。(3) 培養(yǎng)良好的C程序設(shè)計(jì)風(fēng)格與代碼規(guī)范意識。二、課程設(shè)計(jì)內(nèi)容(一)設(shè)計(jì)一個菜單程序:1、尋找肇事汽車車牌號2、形成的新數(shù)3、替換后的新字符串4、狗熊吃包谷5、學(xué)生的平均分6、再見(二)具體內(nèi)容如下:1 .尋找肇事汽車車牌號一輛汽車撞人后逃跑,4個目擊者提供如下線索:甲:牌照3、4位相同。乙:牌號為31XXXX丙:牌照5、6位相同。丁:36位是一個整數(shù)的平方。請根據(jù)4個目擊者的話,找出肇事汽車車牌號。Inta,b;for2 .形成的新

2、數(shù)將長整型數(shù)s中各位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。、例如,當(dāng)s中的數(shù)為87653129時,t中的數(shù)為862。3 .替換后的新字符串將s所指字符串中出現(xiàn)的與t1所指字符串相同的子用,全部替換為t2所指字符用,所形成的新申放在w所指的數(shù)組中,要求t1和t2所指字符串的長度相同。例如,當(dāng)s所指字符串中的內(nèi)容為“abcdabfab',t1所指子用中白內(nèi)容為“ab”,t2所指子用中白內(nèi)容為“99”時,在w所指的數(shù)組中白內(nèi)容應(yīng)為“99cd99f99”4 .狗熊吃包谷狗熊到玉米地吃包谷,第一天吃了一半又拿走一個回去喂小狗熊。第二天又去吃了剩下的一半,走時仍然

3、帶一個回去。以后每天都吃前一天剩下的一半,拿走一個。到第十天時,狗熊到地里一看,只剩下一個包谷了。求地里一共有多少包谷?5 .學(xué)生的平均分鏈表也是一種結(jié)構(gòu),我們把它單獨(dú)作為一個知識點(diǎn)學(xué)習(xí),最后為檢查一下同學(xué)們學(xué)習(xí)能力,請同學(xué)們在自己閱讀完鏈表的相應(yīng)知識點(diǎn)以后,做以下題目:N名學(xué)生的成績已在主函數(shù)中放入一個帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請編寫函數(shù)fun,它的功能是求出平均分,并由函數(shù)值返回。請?jiān)?中填寫相應(yīng)的程序。例如,假定學(xué)生白成績?yōu)?5、76、69、85、91、72、64、87,則平均分應(yīng)為78.625。#include<stdio.h>#include<std

4、lib.h>#defineN8structslistdoubles;structslist*next;);typedefstructslistSTREC;doublefun(STREC*h)doubleaver=0.0;while(h!=NULL)aver+=h->s;h=h->next;)aver/=N;returnaver;)STREC*creat(double*s)STREC*h,*p,*q;inti=0;h=p=(STREC*)malloc(sizeof(STREC);p->s=0;while(i<N)q=(STREC*)malloc(sizeof(STR

5、EC);q->s=si;i+;p->next=q;p=q;p->next=0;returnh;outlist(STREC*h)STREC*p;p=h->next;printf("head");doprintf("->%4.1f",p->s);p=p->next;while(p!=0);printf("nn");intmain()doublesN=85,76,69,85,91,72,64,87,ave;STREC*h;h=creat(s);outlist(h);ave=fun(h);printf

6、("ave=%6.3lfn",ave);return0;doubleaver=0.0;while(h!=NULL)aver+=h->s;h=h->next;aver/=N;returnaver;程序:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>#include<stdlib.h>#defineN8structslist(doubles;structslist*next;);typedefstructslist

7、STREC;voiddraw();voidlink();voidcorn();voidaverage();intmenu_select();intmain()(for(;)(switch(menu_select()(case 1:draw();break;case 2:link();break;case 3:bored();break;case 4:corn();break;case 5:average();break;case 6:printf("Goodbye!n");exit(0);)return0;)intmenu_select()(.chars;intcn;pri

8、ntf("1、尋找肇事汽車車牌號n");printf("2、形成的新數(shù)n");printf("3、替換后的新字符串n");printf("4、狗熊吃包谷n");printf("5、求學(xué)生的平均分n");printf("6、Goodbye!n");printf("nn請輸入想要執(zhí)行的程序編號:");do(s=getchar();cn=(int)s-48;while(cn<0|cn>6);returncn;voiddraw()(inti,j,x,y

9、;for(i=1;i<10;i+)for(j=0;j<10;j+)x=i*1100+j*11;for(y=31;y<99;y+)if(x=y*y)printf("車牌號為31%dn",x);voidhayate(longg,long*h)intd;longs1=1;*h=0;while(g>0)d=g%10;if(d%2=0)*h=*h+d*s1;s1*=10;g/=10;voidlink()longg,h;printf("請輸入一個數(shù)");scanf("%ld",&g);hayate(g,&h

10、);printf("結(jié)果是ldn",h);voidreinforce(char*s,char*t1,char*t2,char*w)char*p,*r,*a;strcpy(w,s);while(*w)p=w;r=t1;while(*r)if(*r=*p)r+;p+;elsebreak;if(*r='0')a=w;r=t2;while(*r)*a=*r;a+;r+;w+=strlen(t2);elsew+;intbored()chars100,t1100,t2100,w100;printf("n請輸入字符用s:");scanf("%

11、s",s);printf("n請輸入字符用t1:");scanf("%s",t1);printf("n請輸入與t1等長字符串t2:");scanf("%s",t2);if(strlen(t1)=strlen(t2)reinforce(s,t1,t2,w);printf("n結(jié)果是:%sn",w);elseprintf("Errorn");voidcorn()intc=1,i,b,a,e=0;printf("狗熊到玉米地吃包谷,第一天吃了一半又拿走一個回去喂

12、小狗熊。n第二天又去吃了剩下的一半,走時仍然帶一個回去。n以后每天都吃前一天剩下的一半,拿走一個。n到第十天時,狗熊到地里一看,只剩下一個包谷了。n求地里一共有多少包谷?n");for(i=1;i<10;i+)c=2*(c+1);b=c;printf("n");printf("請輸入你計(jì)算的結(jié)果:");scanf("%d",&a);if(b!=a)printf("結(jié)果錯誤!正確結(jié)果應(yīng)該是%dnnn",b);elseprintf("正確!結(jié)果是:%dnnn",b);)dou

13、blefun(STREC*h)(intn=0;doublesum=0;doubleave;STREC*p;p=h->next;while(p)(n+;sum+=p->s;p=p->next;)ave=sum/n;returnave;)STREC*creat(double*s)(STREC*h,*p,*q;inti=0;h=p=(STREC*)malloc(sizeof(STREC);p->s=0;while(i<N)(q=(STREC*)malloc(sizeof(STREC);q->s=si;i+;p->next=q;p=q;)p->next=

14、0;returnh;)outlist(STREC*h)(STREC*p;p=h->next;printf("head");do(printf("->%4.1f",p->s);p=p->next;while(p!=0);printf("nn");)voidaverage()(doublesN=85,76,69,85,91,72,64,87,ave;STREC*h;h=creat(s);outlist(h);ave=fun(h);printf("ave=%6.3fnn",ave);結(jié)果:編號1C

15、'Users'RRinfsce、未阜名2.exe號.牌車l-JN挑新合平包的«*由后吃生by,;能學(xué)Dd1奧Go、GoodbyeTn清輸入想要執(zhí)行的程序編號編號2編寫3CU$e與Reinfcixe,未2.exeh.族,品持分字均益合平包e*店吃生W取人想要執(zhí)仃的程序編號.自號為打7”14尋批肇事汽車車牌號遜的復(fù)數(shù)當(dāng)加后的新手苻軍狗熊吃包容聚半生的干均分Goodbupe?以想要初行的程序編號:2一個數(shù)15S65542642第事會車車牌號譽(yù)鱷福字符串狗飄N包各求學(xué)生的平均分Caodlbye,音輸入想要叔仃的梆序編號:翰髀均分6、GoodbyeT清輸入禺要執(zhí)行的程序編號請輸

16、入字苻串K:"dahfat青輸入字符串七工:心情輸入與I等長字符昌*2:9,結(jié)果是:Mct99f99K施;黃事先建車牌號1普翦露符串C:U5ersRe'nfsca未命名2>e方車三俾號事需何的S粵吃生割等拘主編寫4CU$er八Reinfsc式未分答2.exe工T-回谷是J可拿一個中又帶二了時,只4.吃走半,言半的一1-下里?序,的;;程-i=?下天引巨的包利-除少有哮春狗多范的吃,有要圭都的丑一lui-Aags里能二虐地葡第請輸人你II算的結(jié)果:臬錯俁?正旗結(jié)臬應(yīng)該是居的串符分車宇均衿平事需爵肇15吃牛.CoodbuFEf編號510C:U5ersRe'nfsca未命名2>e誤?正確結(jié)果應(yīng)該是,534牌串車存分華羊均A*合平事翦包的I吃生吃找學(xué)Udi青輸入想要執(zhí)行的程序編號,Jicad->8G.e->?G.0->69.0->eG-0->91-0->72-0-&

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論