版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 15/15C語言程序設(shè)計實驗報告參考答案 長沙理工大學(xué)C語言實驗報告參考答案 實驗一熟悉C語言程序開發(fā)環(huán)境及數(shù)據(jù)描述四、程序清單 1編寫程序?qū)崿F(xiàn)在屏幕上顯示以下結(jié)果: Thedressislong Theshoesarebig Thetrousersareblack 答案: #include main() printf(商品名稱價格n); printf(TCL電視機¥7600n); printf(美的空調(diào)¥2000n); printf(SunRose鍵盤¥50.5n); 2編寫程序:a=150,b=20,c=45,編寫求a/b、a/c(商)和a%b、a%c(余數(shù))的程序。 答案: #incl
2、ude main() inta,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf(a/b的商=%dn,x); printf(a/c的商=%dn,y); x=a%b; y=a%c; printf(a/b的余數(shù)=%dn,x); printf(a/c的余數(shù)=%dn,y); 4.設(shè)變量a的值為0,b的值為-10,編寫程序:當ab時,將b賦給c;當a main() inta,b,c; a=0; b=-10; c=(ab)?b:a; printf(c=%dn,c); 五、調(diào)試和測試結(jié)果 1.編譯、連接無錯,運行后屏幕上顯示以下結(jié)果: Thedressislo
3、ng Theshoesarebig Thetrousersareblack 3、編譯、連接無錯,運行后屏幕上顯示以下結(jié)果: a/b的商=7 a/c的商=3 a/b的余數(shù)=10 a/c的余數(shù)=15 4.編譯、連接無錯,運行后屏幕上顯示以下結(jié)果:c=-10 實驗二順序結(jié)構(gòu)程序設(shè)計 四、程序清單 1鍵盤輸入與屏幕輸出練習 問題1D。 問題2改printf(%c,%c,%dn,a,b,c);這條語句 改成:printf(%c%c%dn,a,b,c); 問題3改scanf(%c%c%d,這條語句 改為:scanf(%c,%c,%d, 問題4改printf(%c,%c,%dn,a,b,c);這條語句 改成
4、:printf(%c%c%dn,a,b,c); 2(1)從鍵盤輸入兩個八進制數(shù),計算兩數(shù)之和并分別用十進制和十六進制數(shù)形式輸出。 #include intmain() inta,b,c; printf(Enteraandb:); scanf(%o%o, c=a+b; printf(d:%dn,c); printf(x:%xn,c); return0; 2(2)編寫程序:從鍵盤輸入兩個實數(shù)a和x,按公式計算并輸出y的 值: #include #include intmain() floata,x,y; scanf(%f%f, y=pow(a,5)+sin(a*x)+exp(a*x)+log(a+
5、x); printf(y=%fn,y); return0; 3改錯題 正確的程序為: #include main() inta,b,c,s; scanf(%d%d%d, s=a+b+c; printf(%d=%d+%d+%dn,s,a,b,c);/*輸出s=a+b+c*/ printf(%d+%d+%d=%dn,a,b,c,s);/*輸出a+b+c=s*/ 五、調(diào)試和測試結(jié)果 2(1)輸入:1214 輸出:26 1a 2(2)輸入:10 輸出:2.000000 實驗三選擇結(jié)構(gòu)程序設(shè)計 四、設(shè)計流程(算法描述) (請寫出上機內(nèi)容2(2)題的算法描述) 主要是兩兩比較,然后得出最大的數(shù) 五、程序清
6、單 2(1)輸入整數(shù)x和a,計算并輸出下列分段函數(shù)f(x)的值(保留2位小數(shù)),請調(diào)用log函數(shù)求自然對數(shù),調(diào)用fabs函數(shù)求絕對值。程序為: #include main() inta,b,c,x; scanf(%d%d%d, if(a=b) x=a; else x=b; if(x main() doublen; printf(Entern:); scanf(%lf, if(n #include intmain() inti,j,sum; sum=0; for(i=1;i #include main() inti,j,sum=0; for(i=2;i main() intn=1; intfin
7、d=0; while(!find) if(n%5=1 find=1; n+; 六、調(diào)試和測試結(jié)果 1:結(jié)果:thesumis:5050 thesquaresumis:338350 2:結(jié)果:628496 實驗五函數(shù)和預(yù)處理命令 四、設(shè)計流程(算法描述) (請寫出上機內(nèi)容1的算法描述) 利用循環(huán)將m乘n次 五、程序清單 1編寫自定義函數(shù)longpower(intm,intn),計算n m的值。利用此函數(shù)編程序?qū)崿F(xiàn):從鍵盤輸入兩個整數(shù)m和n,計算出n m的值。 #include longpower(intm,intn)/要返回的是long型 inti; longs;/因為是要返回的數(shù),所以這里也定
8、義為long型 s=1; for(i=1;i #include voidMad(inta,intn) inti; a0=2; a1=3; for(i=2;ik2) printf(x最接近第%d項n,i+1); else printf(x最接近第%d項n,i); return0; 3、源程序如下: #include main() charc15; inti,word=0,num=0,space=0; for(i=0;i=0 if(cia printf(字符:%d數(shù)字:%d空格:%dn,word,num,space); 六、調(diào)試和測試結(jié)果 1、輸入:12345 輸出:54321 2、輸入:110
9、輸出:x最接近第6項 3、輸入:sd234kj64jkmjk 輸出:字符:9 數(shù)字:5 空格:1 實驗七數(shù)組和函數(shù)綜合程序設(shè)計 四、程序清單 (請寫出上機內(nèi)容2、3中源程序) 2、原程序求得的是下三角形,經(jīng)改進調(diào)試之后的程序為: #include #defineN6 main() inti,j,sum=0; intaNN=0; printf(input55data:n); for(i=1;i=i;j-) sum=sum+aij; printf(sum=%dn,sum); 3、 voidfun(intttMN,intppN) inti,j,max; for(j=0;jmax)max=ttij;
10、ppj=max; 五、調(diào)試和測試結(jié)果 (寫出上機內(nèi)容1中填空的內(nèi)容) 1、(1)sum=0(2)tii(3)1 實驗八指針 四、程序清單 (請寫出上機內(nèi)容2中的函數(shù)) 求出每個位上的數(shù)字,然后放在千位上的數(shù)字乘以1000,放在百位上的數(shù)字乘以100,放在10位上的數(shù)字乘以10,然后相加。 voidfun(inta,intb,long*c) inta10,a1,b10,b1; a10=a/10; a1=a%10; b10=b/10; b1=b%10; *c=a10*1000+b1*100+a1*10+b10; 五、調(diào)試和測試結(jié)果(請寫出上機內(nèi)容1的輸出結(jié)果) 1(1)輸出結(jié)果為:8,7,7,8
11、(2)6 (3)(1)x=10y=20 (2)x=20y=10 (4)【1】int*p【2】&ai【3】pi 輸入:123456輸出:123456 實驗九指針、函數(shù)和數(shù)組綜合程序設(shè)計 設(shè)計流程(算法描述) (請寫出上機內(nèi)容2中的算法描述) 五、程序清單 1已知一個整型數(shù)組a5,其各元素值為4,6,8,10,12。使用指針編程求數(shù)組元素之積。 #include intmain(void) inta=4,6,8,10,12,sum; int*p; sum=1; for(p=a;p sum*=*p; printf(%dn,sum); return0; 2定義函數(shù)intf(char*x,chary)判
12、斷x 所指的字符串中是否包含字符y ,若是則函數(shù)返回1,否則返回1。 intf(char*x,chary) char*p; for(p=x;*p!=0;p+) if(*p=y) printf(%cn,*p); return1; 當*(x+i)!=0 i=0 *(x+i)=y T return1 i=i+1 return0 F return0; 3.定義函數(shù)voidf(floatx,int*y,float*z)將x的整數(shù)部分存于y所指的存儲單元,x的小數(shù)部分存于x所指的存儲單元。 voidf(floatx,int*y,float*z) *y=(int)x; *z=x-*y; 六、調(diào)試和測試結(jié)果
13、測試結(jié)果正確 實驗十結(jié)構(gòu)體 四、程序清單 (請寫出上機內(nèi)容1的源程序和上機內(nèi)容2中的函數(shù))1、上機內(nèi)容1的源程序 #include #include #defineFORMAT%0dt%st%dt%cn structstudent intnum; charname20; intage; charsex; ; main() voidinput(structstudentstu); voidstat(structstudentstu); structstudentstu4; inti; input(stu); for(i=0;iname,p-sex,p-age); 實驗十一共用體、位運算和文件 四
14、、程序清單 (請寫出上機內(nèi)容2中的程序源代碼) (1)求100以內(nèi)能同時被3和5整除的自然數(shù),分別將它們輸出到顯示器屏幕和x.txt文件中。 (2)用程序讀出上述x.txt文件中的數(shù)據(jù),將它們輸出到屏幕,并求它們的和。 #include intmain(void) inti,sum; FILE*fd; chars10,*p,ch; if(fd=fopen(D:shi.txt,wt)=NULL) printf(creatthefilefailedn); exit(0); else for(i=1;iscorei100|info-scoreiscorei100|info-scoreiscorei;
15、 info-sum=s; info-order=0; info-next=h; h=info; return(h); inputs(char*prompt,char*s,intcount) charp255; do printf(prompt); scanf(%s,p); if(strlen(p)count)printf(ntoolong!n); while(strlen(p)count); strcpy(s,p); /*Printinfor*/ voidprint(STUDENT*h) inti=0; STUDENT*p; clrscr(); p=h; printf(nnn*STUDENT*
16、 printf(|rec|NO.|name|maths|program|sum|order|n); printf(|n); while(p!=NULL) i+; printf(|%3d|%-10s|%- 15s|%7d|%9d|%4.2f|%3d|n,i,p-no,p-name,p-score0,p-scor e1,p-sum,p-order); p=p-next; printf(*end*n ); STUDENT*delete(STUDENT*h) STUDENT*p,*q; chars11; clrscr(); printf(pleaseenterthenumberyouwanttodel
17、eten); scanf(%s,s); q=p=h; while(strcmp(p-no,s) p=p-next; if(p=NULL) printf(nlistno%sstudentn,s); else printf(nnn*STUDENT* *n); printf(|NO.|name|maths|program|sum|order|n); printf(|n); printf(|%-10s|%- 15s|%7d|%9d|%4.2f|%3d|n,p-no,p-name,p-score0,p-score 1,p-sum,p-order); printf(*end*n ); getch(); i
18、f(p=h) h=p-next; else q-next=p-next; free(p); printf(nhavedeletedNo%sstudentn,s); return(h); STUDENT*searchno(STUDENT*h) STUDENT*p,*q; chars11; clrscr(); printf(pleaseenterthenumberyouwanttosearchn); scanf(%s,s); q=p=h; while(strcmp(p-no,s) p=p-next; if(p=NULL) printf(n%sNoFound!n,s); else printf(n%
19、sFound!n,s); printf(nnn*STUDENT* *n); printf(|NO.|name|maths|program|sum|order|n); printf(|n); printf(|%-10s|%- 15s|%7d|%9d|%4.2f|%3d|n,p-no,p-name,p-score0,p-score 1,p-sum,p-order); printf(*end*n ); getch(); return(h); voidsearch(STUDENT*h) STUDENT*p; chars15; clrscr(); printf(pleaseenternameforsea
20、rchn); scanf(%s,s); p=h; while(strcmp(p-name,s) if(p=NULL) printf(n%sNoFound!n,s); else printf(n%sFound!n,s); printf(nnn*STUDENT* n); printf(|NO.|name|maths|program|sum|order|n); printf(|n); printf(|%-10s|%- 15s|%7d|%9d|%4.2f|%3d|n,p-no,p-name,p-score0,p-score 1,p-sum,p-order); printf(*end*n ); STUD
21、ENT*insert(STUDENT*h) STUDENT*p,*q,*info; chars11; ints1,i; printf(pleaseentertheNo.whichthisrecordwillbelocatedbeforen); scanf(%s,s); printf(npleasenewrecordn); info=(STUDENT*)malloc(sizeof(STUDENT); if(!info) printf(noutofmemory); returnNULL; inputs(enterno:(10digitals),info-no,11); inputs(enterna
22、me:(scorei100|info-scoreiscorei; info-sum=s1; info-order=0; info-next=NULL; p=h; q=h; while(strcmp(p-no,s)&p!=NULL) q=p; p=p-next; if(p=NULL) if(p=h) h=info; else q-next=info; else if(p=h) info-next=p; h=info; else info-next=p; q-next=info; printf(nhaveinserted%sstudentn,info-name); return(h); /*SAV
23、E*/ voidsave(STUDENT*h) FILE*fp; STUDENT*p; charoutfile10; printf(Enteroutfilename,forexamplec:cstudent.txt:n); scanf(%s,outfile); if(fp=fopen(outfile,wb)=NULL) printf(cannotopenfilen); exit(1); printf(nSavingfilen); p=h; while(p!=NULL) fwrite(p,sizeof(STUDENT),1,fp); p=p-next; fclose(fp); printf(savesuccess!n); STUDENT*load() STUDENT*p,*q,*h=NULL; FILE*fp; charinfile10; printf(Enterinfilename,forexamplec:cstudent.txt:n);scanf(%s,i nfile); if(fp=fopen(infile,rb)=NULL) printf(cannotopenfilen); exit(1); printf(nLoadingfile!n); p=(STUDENT*)malloc(sizeof(STUDENT
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人工耳蝸行業(yè)政策分析:人工耳蝸行業(yè)標準推動人工耳蝸技術(shù)普及
- 2025年個人三項機制學(xué)習心得體會模版(3篇)
- 課題申報參考:緊密型醫(yī)聯(lián)體視角下大灣區(qū)老年中醫(yī)藥服務(wù)評價體系構(gòu)建與實證研究
- 二零二五年度集團高層管理人員任期制競聘與續(xù)聘合同6篇
- 2025版小時工定期雇傭合同范本3篇
- 2025版土地征收及安置補償中介服務(wù)合同3篇
- 全新二零二五年度房地產(chǎn)銷售代理合同3篇
- 二零二五版企業(yè)內(nèi)部會計檔案安全保密服務(wù)協(xié)議3篇
- 2025年度文化創(chuàng)意產(chǎn)品開發(fā)與銷售合作協(xié)議范本4篇
- 二零二五年度廚具品牌設(shè)計創(chuàng)新合同4篇
- 圖像識別領(lǐng)域自適應(yīng)技術(shù)-洞察分析
- 個體戶店鋪租賃合同
- 禮盒業(yè)務(wù)銷售方案
- 二十屆三中全會精神學(xué)習試題及答案(100題)
- 小學(xué)五年級英語閱讀理解(帶答案)
- 仁愛版初中英語單詞(按字母順序排版)
- 【奧運會獎牌榜預(yù)測建模實證探析12000字(論文)】
- 魯濱遜漂流記人物形象分析
- 危險廢物貯存?zhèn)}庫建設(shè)標準
- 多層工業(yè)廠房主體結(jié)構(gòu)施工方案鋼筋混凝土結(jié)構(gòu)
- 救生艇筏、救助艇基本知識課件
評論
0/150
提交評論