青島科技大學(xué)C語(yǔ)言上機(jī)實(shí)驗(yàn)

上傳人:無(wú)*** 文檔編號(hào):45417318 上傳時(shí)間:2021-12-07 格式:DOC 頁(yè)數(shù):42 大小:142KB
收藏 版權(quán)申訴 舉報(bào) 下載
青島科技大學(xué)C語(yǔ)言上機(jī)實(shí)驗(yàn)_第1頁(yè)
第1頁(yè) / 共42頁(yè)
青島科技大學(xué)C語(yǔ)言上機(jī)實(shí)驗(yàn)_第2頁(yè)
第2頁(yè) / 共42頁(yè)
青島科技大學(xué)C語(yǔ)言上機(jī)實(shí)驗(yàn)_第3頁(yè)
第3頁(yè) / 共42頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《青島科技大學(xué)C語(yǔ)言上機(jī)實(shí)驗(yàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《青島科技大學(xué)C語(yǔ)言上機(jī)實(shí)驗(yàn)(42頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 C語(yǔ)言程序?設(shè)計(jì)上機(jī)安?排 C語(yǔ)言上機(jī)?實(shí)驗(yàn):32學(xué)時(shí) 序號(hào) 實(shí)驗(yàn)項(xiàng)目名?稱 內(nèi)容提要 學(xué)時(shí)數(shù) 1 上機(jī)操作初?步 熟悉VC++語(yǔ)言上機(jī)環(huán)?境;了解如何編?輯、編譯、連接和運(yùn)行?一個(gè)C程序?。 2 2 簡(jiǎn)單的C程?序設(shè)計(jì) 掌握C語(yǔ)言?的數(shù)據(jù)類型?;學(xué)會(huì)使用C?語(yǔ)言的運(yùn)算?符及表達(dá)式?;掌握不同數(shù)?據(jù)類型的輸?入輸出方法?。掌握復(fù)制語(yǔ)?句的使用、各種數(shù)據(jù)類?型數(shù)據(jù)輸入?輸出方法、格式轉(zhuǎn)換符?。 4 3 選擇結(jié)構(gòu)程?序設(shè)計(jì) 正確使用邏?輯運(yùn)算符和?邏輯表達(dá)式?、if語(yǔ)句、switc?h語(yǔ)句 2 4 循環(huán)結(jié)構(gòu)程?序設(shè)計(jì) 熟悉whi?le語(yǔ)句、do-wh

2、ile?語(yǔ)句、for語(yǔ)句?實(shí)現(xiàn)一些算?法 4 5 綜合實(shí)驗(yàn)1?:結(jié)構(gòu)化程序?設(shè)計(jì) 2 6 函數(shù)程序設(shè)?計(jì) 掌握函數(shù)定?義的方法、實(shí)參與形參?對(duì)應(yīng)關(guān)系、全局變量和?局部變量的?使用 4 7 數(shù)組程序設(shè)?計(jì) 掌握一維二?維數(shù)組的定?義賦值和輸?入輸出、字符數(shù)組和?字符串?dāng)?shù)組?使用、數(shù)組的算法?-排序 4 8 指針程序設(shè)?計(jì) 掌握定義和?使用指針、使用數(shù)組指?針、字符串指針?、函數(shù)指針 2 9 綜合實(shí)驗(yàn)2?:函數(shù)、數(shù)組、指針的綜合?應(yīng)用 2 10 綜合實(shí)驗(yàn)3?:結(jié)構(gòu)體、文件程序設(shè)?計(jì) 小型綜合應(yīng)?用實(shí)例設(shè)計(jì)? 4 11 考試模擬練?習(xí) 掌握

3、C語(yǔ)言?考試系統(tǒng)的?使用 2 實(shí)驗(yàn)一 上機(jī)操作初?步(2學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、熟悉VC++語(yǔ)言的上機(jī)?環(huán)境及上機(jī)?操作過(guò)程。 2、了解如何編?輯、編譯、連接和運(yùn)行?一個(gè)C程序?。 3、初步了解C?程序的特點(diǎn)?。 三、實(shí)驗(yàn)內(nèi)容: 說(shuō)明:前三題為必?做題目,后兩題為選?做題目。 1、輸出入下信?息:(實(shí)驗(yàn)指導(dǎo)書(shū)?P79) ************************* Very Good ****************

4、********* 2、計(jì)算兩個(gè)整?數(shù)的和與積?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P81) 3、從鍵盤(pán)輸入?一個(gè)角度的?弧度值x,計(jì)算該角度?的余弦值,將計(jì)算結(jié)果?輸出到屏幕?。(書(shū)P3) 4、在屏幕上顯?示一個(gè)文字?菜單模樣的?圖案: ================================= 1 輸入數(shù)據(jù) 2 修改數(shù)據(jù) 3 查詢數(shù)據(jù) 4 打印數(shù)據(jù) ================================= 5、從鍵盤(pán)上輸?入兩個(gè)整數(shù)?,交換這

5、兩個(gè)?整數(shù)。 四、實(shí)驗(yàn)步驟與?過(guò)程: 1、試驗(yàn)指導(dǎo)書(shū)?P79 #inclu?de main() { print?f("*****************\n"); print?f("very good\n"); print?f("*****************\n"); } 2、計(jì)算兩個(gè)整?數(shù)的和與積?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P81) #inclu?de main() { int a,b,c,d; print?f("pleas?e enter? a,b:"); scanf?("%d,%d",&a,&b);

6、 c=a+b; d=a*b; print?f("c is %d",c); print?f("d is %d",d); } 2、實(shí)驗(yàn)指導(dǎo)書(shū)?P81計(jì)算?兩個(gè)整數(shù)的?和與積。 #inclu?de"stdio?.h" void main() { int x,y; print?f("pleas?e input? x,y:\n"); scanf?("%d,%d",&x,&y); print?f("x+y=%d\n",x+y); print?f("x*y=%d\n",x*y); } 3、課本P3,從鍵盤(pán)輸入?一個(gè)角度的?弧度值x,計(jì)算該角度?的余弦

7、值,將計(jì)算結(jié)果?輸出到屏幕?。 #inclu?de"stdio?.h" #inclu?de"math.h" void main() {doubl?e x,s; print?f("pleas?e input? value? of x:"); scanf?("%lf",&x); s=cos(x); print?f("cos(%lf)=%lf\n",x,s); }注意:lf是長(zhǎng)整?型變量或函?數(shù),另外由于在?編寫(xiě)過(guò)程中?用到了數(shù)學(xué)?問(wèn)題,所以要加#inclu?de"math.h" 4、在屏幕上顯?示一個(gè)文字?菜單模樣的?圖案: ============

8、===================== 1 輸入數(shù)據(jù) 2 修改數(shù)據(jù) 3 查詢數(shù)據(jù) 4 打印數(shù)據(jù) ================================= #inclu?de"stdio?.h" void main() { print?f("============================\n"); print?f("1 輸入數(shù)據(jù) 2 修改數(shù)據(jù)\n"); print?f("3 查詢數(shù)據(jù) 4 打印數(shù)據(jù)\n"

9、); print?f("============================\n"); } 5、從鍵盤(pán)上輸?入兩個(gè)整數(shù)?,交換這兩個(gè)?整數(shù)。 #inclu?de main() { int a,b,t; print?f("pleas?e enter? a,b:\n"); scanf?("%d %d",&a,&b); t=a; a=b; b=t; print?f("a is %d,b is %d",a,b); } 五、實(shí)驗(yàn)調(diào)試記?錄: 1、輸出字符,要多個(gè)pr?intf 2、注意:scanf?的意思是:輸入兩個(gè)數(shù)?。 3

10、、lf中l(wèi),不是I,是l。 5、 scanf?("%d %d",&a,&b);是關(guān)鍵,切勿錯(cuò)。 六、參考答案:(省略) 實(shí)驗(yàn)二 簡(jiǎn)單的C程?序設(shè)計(jì)(4學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、掌握C語(yǔ)言?的數(shù)據(jù)類型?。 2、學(xué)會(huì)使用C?語(yǔ)言的運(yùn)算?符及表達(dá)式?。 3、掌握不同數(shù)?據(jù)類型的輸?入輸出方法?。 三、實(shí)驗(yàn)內(nèi)容: 說(shuō)明:前四題為必?做題目,后兩題為選?做題目。 1、輸入r1、r2,求出圓形墊?片面積。(實(shí)驗(yàn)指導(dǎo)書(shū)?P84) 2、輸入華氏溫?度h,輸出攝氏溫?度c。(實(shí)驗(yàn)指導(dǎo)書(shū)?P85

11、) 3、從鍵盤(pán)輸入?一個(gè)3位整?數(shù),將輸出該數(shù)?的逆序數(shù)。(實(shí)驗(yàn)指導(dǎo)書(shū)?P89) 4、輸入并運(yùn)行?以下程序,分析運(yùn)行結(jié)?果。 #inclu?de void main( ) { int i,j; i=8; j=10; print?f(“%d,%d\n”,++i,++j); i=8; j=10; print?f(“%d,%d\n”,i++,j++); i=8; j=10; print?f(“%d,%d\n”,++i,i); i=8;

12、j=10; print?f(“%d,%d\n”,i++,i); } 5、輸入三角形?三條邊的邊?長(zhǎng),求三角形的?面積。(書(shū)P55) 6、輸入3個(gè)字?符型數(shù)據(jù),將其轉(zhuǎn)換成?相應(yīng)的整數(shù)?后,求它們的平?均值并輸出?。(書(shū)P55) 四、實(shí)驗(yàn)步驟與?過(guò)程: 1、輸入r1、r2,求出圓形墊?片面積。(實(shí)驗(yàn)指導(dǎo)書(shū)?P84) #inclu?de #defin?e p 3.14 void main() { float? r1,r2; doubl?e s1,s2,s; print?f("pleas?e enter? r1,r2:\n"); s

13、canf?("%f %f",&r1,&r2); s2=r2*r2*p; s1=r1*r1*p; s=s2-s1; print?f("s=%lf\n",s); } 2、輸入華氏溫?度h,輸出攝氏溫?度c。(實(shí)驗(yàn)指導(dǎo)書(shū)?P85) #inclu?de main() { float? h,c; print?f("請(qǐng)輸入華氏?溫度:\n"); scanf?("%f",&h); c=5.0/9*(h-32); print?f("\n攝氏溫度?:%f\n",c); } 3、從鍵盤(pán)輸入?一個(gè)3位整?數(shù),將輸出該數(shù)?的逆序數(shù)。(實(shí)驗(yàn)指導(dǎo)書(shū)?P

14、89) #inclu?de void main() { int a,b,c,x,y; print?f("請(qǐng)輸入一個(gè)?3位的正整?數(shù):\n"); scanf?("%d",&x); a=x/100; b=x/10-a*10; c=x/1-a*100-b*10; y=c*100+b*10+a; print?f("原始數(shù)是 %d ,交換后得數(shù)?是 %d\n",x,y); } 4、輸入并運(yùn)行?以下程序,分析運(yùn)行結(jié)?果。 #inclu?de void main( ) { int i,j;

15、 i=8; j=10; print?f(“%d,%d\n”,++i,++j); i=8; j=10; print?f(“%d,%d\n”,i++,j++); i=8; j=10; print?f(“%d,%d\n”,++i,i); i=8; j=10; print?f(“%d,%d\n”,i++,i); } 結(jié)果9,11 8,10 9,8 8,8 5、輸入三角形?三條邊的邊?長(zhǎng),求三角形的?面積。(書(shū)P55) #inclu?de"stdio?.h" #incl

16、u?de "math.h" void main() { int a,b,c; doubl?e area,s; scanf?("%d,%d,%d",&a,&b,&c); s=(doubl?e)(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); print?f("area=%.2lf",area); } 6、輸入3個(gè)字?符型數(shù)據(jù),將其轉(zhuǎn)換成?相應(yīng)的整數(shù)?后,求它們的平?均值并輸出?。(書(shū)P55) #inclu?de"stdio?.h" void main() {

17、 char a,b,c; float? x; print?f("pleas?e enter?:\n"); scanf?("%c%c%c",&a,&b,&c); x=(a+b+c)/3.0; print?f("(a+b+c)/3=%.2f\n",x); } 五、實(shí)驗(yàn)調(diào)試記?錄: 1、“p 3.14”中p為小寫(xiě)?,非大寫(xiě)! 2、float?為單精度,不是int?\doubl?e\型! 3、a=x/100; b=x/10-a*10; c=x/1-a*100-b*10; y=c*100+b*10+a; 數(shù)字的交換?!是整型,int。 4、

18、i=8; j=10; print?f(“%d,%d\n”,++i,++j);中 ++i,++j為先增加?1,再相應(yīng)的使?用i,j.故結(jié)果i=9,j=11. i=8; j=10; print?f(“%d,%d\n”,i++,j++); 中i++,j++為先使用i?,j;再增加1,故結(jié)果為i?=8; j=10. 5、sqrt中?是q,不是p. 六、參考答案:(省略) 實(shí)驗(yàn)三 選擇結(jié)構(gòu)程?序設(shè)計(jì)(2學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、熟練掌握i?f語(yǔ)句和s?witch?語(yǔ)句。 2、練習(xí)并掌握?多分支選擇?結(jié)構(gòu)的

19、編程?方法。 3、學(xué)習(xí)調(diào)試和?修改程序的?步驟。 三、實(shí)驗(yàn)內(nèi)容: 說(shuō)明:前三題為必?做題目,后兩題為選?做題目。 1、讀入3個(gè)分?別表示箱子?長(zhǎng)、寬、高的整數(shù)值?,判斷并輸出?該箱子是立?方體還是長(zhǎng)?方體。(實(shí)驗(yàn)指導(dǎo)書(shū)?P104) 2、輸入某一年?月,輸出該月的?天數(shù)。(實(shí)驗(yàn)指導(dǎo)書(shū)?P105) 3、有一函數(shù): x (x<1) y= 2x-1 (1≤x<10) 3x-11 (x≥10) 編寫(xiě)程序,輸入x值,輸出y值。 4、從鍵盤(pán)輸入?一個(gè)字符,如果該字符?為小寫(xiě)字母?,則轉(zhuǎn)換為大?寫(xiě)字母輸出?;如果該字符

20、?為大寫(xiě)字母?,則轉(zhuǎn)換為小?寫(xiě)字母輸出?;如果為其他?字符,原樣輸出。(書(shū)P94) 5、輸入4個(gè)整?數(shù),要求按由小?到大的順序?輸出。 四、實(shí)驗(yàn)步驟與?過(guò)程: 1、讀入3個(gè)分?別表示箱子?長(zhǎng)、寬、高的整數(shù)值?,判斷并輸出?該箱子是立?方體還是長(zhǎng)?方體。(實(shí)驗(yàn)指導(dǎo)書(shū)?P104) #inclu?de"stdio?.h" void main() { int l,w,h; print?f("請(qǐng)輸入箱子?的長(zhǎng)、寬、高:\n"); scanf?("%d%d%d",&l,&w,&h); if (l==w&&w==h&&h==l) prin

21、t?f("該箱子是立?方體。"); else print?f("該箱子是長(zhǎng)?方體。"); } 2、輸入某一年?月,輸出該月的?天數(shù)。(實(shí)驗(yàn)指導(dǎo)書(shū)?P105) #inclu?de"stdio?.h" void main() { int year,month?,days; print?f("pleas?e enter? year and month?:\n"); scanf?("%d%d",&year,&month?); switc?h(month?) { case 2:if(year%400==0||(yea

22、r%4==0&&year%100!=0)) days=29; else days=28; break?; case 1: case 3: case 5: case 7: case 8: case 10: case 12:days=31; break?; case 4: case 6: case 9: case 11:days=30; break?; } print?f("該月的天數(shù)?為:%d\n",days); } 3、有

23、一函數(shù): x (x<1) y= 2x-1 (1≤x<10) 3x-11 (x≥10) 編寫(xiě)程序,輸入x值,輸出y值。 #inclu?de"stdio?.h" void main() { int x,y; scanf?("%d",&x); if (x<1) y=x; if (1<=x&&x<10) y=2*x-1; if (x>=10) y=3*x-11; print?f("y=%d\n",y); } 4、從鍵盤(pán)輸入?一個(gè)字符,如果該字符?為小寫(xiě)字

24、母?,則轉(zhuǎn)換為大?寫(xiě)字母輸出?;如果該字符?為大寫(xiě)字母?,則轉(zhuǎn)換為小?寫(xiě)字母輸出?;如果為其他?字符,原樣輸出。(書(shū)P94) #inclu?de"stdio?.h" void main() { char x; print?f("Enter? a char:\n"); x=getch?ar(); if((x>=a)&&(x<=z)) x-=a-A; else if((x>=A)&&(x<=Z)) x+=a-A; putch?ar(x); } 5、輸入4個(gè)整?數(shù),要求按由小?到大的順序?輸出 #inclu?de"stdio?.h

25、" void main() { int a,b,c,d,t; print?f("請(qǐng)輸入四個(gè)?整數(shù):\n"); scanf?("%d %d %d %d",&a,&b,&c,&d); if (a>b) {t=a,a=b,b=t;} if (a>c) {t=a,a=c,c=t;} if (a>d) {t=a,a=d,d=t;} if (b>c) {t=b,b=c,c=t;} if (b>d) {t=b,b=d,d=t;} if (c>d) {t=c,c=d,d=t;} print?f("%d,%d,%d,%d\

26、n",a,b,c,d); } 五、實(shí)驗(yàn)調(diào)試記?錄: 1\ if (l==w&&w==h&&h==l)判斷該箱子?是否為正方?體。 2、switc?h(month?)為一典型的?嵌套結(jié)構(gòu),再該嵌套結(jié)?構(gòu)的結(jié)束時(shí)?要記得加上?break?,否則無(wú)法跳?出該嵌套?。? if(year%400==0||(year%4==0&&year%100!=0))該語(yǔ)句為判?斷該年是否?為閏年。 3\ifd的循?環(huán)結(jié)構(gòu),判斷清楚當(dāng)?滿足什么條?件時(shí)執(zhí)行該?語(yǔ)句,if d嵌套的前?提是再滿足?上個(gè)if條?件的情況下?執(zhí)行該個(gè)i?f。 4、char為?字符型,獲取一字符?用char?類型。 5、if (

27、a>b) {t=a,a=b,b=t;} if (b>c) {t=b,b=c,c=t;} if (c>d) {t=c,c=d,d=c;} 并列if 判斷句,從上到下依?次執(zhí)行。 六、參考答案:(省略) 實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)程?序設(shè)計(jì)(4學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、熟練掌握w?hile語(yǔ)?句、do-while?語(yǔ)句和fo?r語(yǔ)句。 2、練習(xí)并掌握?循環(huán)結(jié)構(gòu)的?嵌套形式。 3、掌握循環(huán)結(jié)?構(gòu)的程序設(shè)?計(jì)方法。 三、實(shí)驗(yàn)內(nèi)容: 說(shuō)明:前四題為必?做題目,后兩題為選?做題目。 1、

28、從鍵盤(pán)上輸?入若干個(gè)學(xué)?生的成績(jī),統(tǒng)計(jì)并輸出?最高成績(jī)和?最低成績(jī),當(dāng)輸入負(fù)數(shù)?時(shí)結(jié)束輸入?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P117) 2、求所有的水?仙花數(shù)。水仙花數(shù)是?一個(gè)3位數(shù)?的自然數(shù),該數(shù)各位數(shù)?的立方和等?于該數(shù)本身?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P118) 3、判斷輸入的?某個(gè)數(shù)是否?為素?cái)?shù)。若是,輸出YES?,否則輸出N?O。(書(shū)P123?) 4、計(jì)算π的近?似值。公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一?項(xiàng)的絕對(duì)值?小于10-6為止。(書(shū)P123?) 5、計(jì)算 s=1!+2!+……+20! 的值并輸出?。 6、輸入10個(gè)?整數(shù),統(tǒng)計(jì)并輸出?其中正數(shù)、負(fù)數(shù)和零的?個(gè)數(shù)。 四

29、、實(shí)驗(yàn)步驟與?過(guò)程: 1、從鍵盤(pán)上輸?入若干個(gè)學(xué)?生的成績(jī),統(tǒng)計(jì)并輸出?最高成績(jī)和?最低成績(jī),當(dāng)輸入負(fù)數(shù)?時(shí)結(jié)束輸入?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P117) #inclu?de"stdio?.h" void main() { float? x,max,min; print?f("pleas?e input? score?s:\n"); scanf?("%f",&x); max=min=x; while?(x>=0) { if(x>max) max=x; if(x

30、?("%f",&x); } print?f("\nmax=%f\nmin=%f\n",max,min); } 2、求所有的水?仙花數(shù)。水仙花數(shù)是?一個(gè)3位數(shù)?的自然數(shù),該數(shù)各位數(shù)?的立方和等?于該數(shù)本身?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P118) #inclu?de"stdio?.h" void main() { int x,y,z; int k=100; while?(k<=999) { x=k/100; y=(k-x*100)/10; z=(k-x*100-y*10); if(k==x*x

31、*x+y*y*y+z*z*z) print?f("%d\n",k); k++; } 3、判斷輸入的?某個(gè)數(shù)是否?為素?cái)?shù)。若是,輸出YES?,否則輸出N?O。(書(shū)P123?) #inclu?de"math.h" void main() { int i,x,yes,a; print?f("Enter? integ?er numbe?r:"); scanf?("%d",&x); yes=1; i=2; a=sqrt(x); while?(yes&&i<=a) { if(x%i==0)yes=0; i=i+1;

32、 } print?f("%d\n",x); if(yes) print?f("YES\n"); else print?f("NO\n"); } } 4、計(jì)算π的近?似值。公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一?項(xiàng)的絕對(duì)值?小于10-6為止。(書(shū)P123?) #inclu?de"math.h" void main() { float? pi,t,n; int sign=1; pi=0.0;n=1.0;t=1.0; while?(fabs(t)>=1e-6) { t=sign/n; pi

33、+=t; n+=2; sign=-sign; } pi=pi*4; print?f("pi=%f\n",pi); } 5、計(jì)算 s=1!+2!+……+20! 的值并輸出?。 #inclu?de"stdio?.h" #inclu?de"stdio?.h" void main() { int i,j; doubl?e m,sum=0; for(i=1;i<=20;i++) { for

34、(j=1,m=1;j<=i;j++) m*=j; sum+=m; } print?f("%.0lf\n",sum); 6、輸入10個(gè)?整數(shù),統(tǒng)計(jì)并輸出?其中正數(shù)、負(fù)數(shù)和零的?個(gè)數(shù)。 #inclu?de"stdio?.h" void main() { int a,b,c,x,i; a=0; b=0; c=0; print?f("請(qǐng)輸入十個(gè)?整數(shù):\n"); scanf?("%d",&x); for(i=1;i<=10;i++) { if(x==0) a++; if(x>0) b++; if(x

35、<0) c++; scanf?("%d",&x); } print?f("零:%d,正數(shù):%d,負(fù)數(shù):%d\n",a,b,c); } }五、實(shí)驗(yàn)調(diào)試記?錄: 1\while?(x>=0)后無(wú)‘;’!float? x,max,min; float?單精度。 2、x=k/100; y=(k-x*100)/10; z=(k-x*100-y*10); 依次求出該?數(shù)的百、十、個(gè)位:x,y,z. if(k==x*x*x+y*y*y+z*z*z)判斷該數(shù)是?否為水仙花?數(shù)。 3、a=sqrt(x)為開(kāi)平方語(yǔ)?句、sqrt。該語(yǔ)句在i?nt(整型

36、)語(yǔ)句中執(zhí)行?。 4、fabs(t)為求實(shí)數(shù)t?的絕對(duì)值。1e-6為1乘以?1的0(-6)次方。sign=-sign分?子交換正負(fù)?值。 5、for(i=1;i<=20;i++) { for(j=1,m=1;j<=i;j++) 為循環(huán)的嵌?套for(j=1,m=1;j<=i;j++)語(yǔ)句為在滿?足for(i=1;i<=20;i++)語(yǔ)句的前提?下執(zhí)行。 6、for(i=1;i<=10;i++) { if(x==0) a++; if(x>0) b++; if(x<0) c++; 循環(huán)判斷語(yǔ)?句,i限制循環(huán)?的次數(shù)為1?0

37、. 六、參考答案:(省略) 實(shí)驗(yàn)五 綜合實(shí)驗(yàn)1?:結(jié)構(gòu)化程序?設(shè)計(jì)(2學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、進(jìn)一步掌握?選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的?編程特點(diǎn)。 2、掌握C語(yǔ)言?的結(jié)構(gòu)化程?序設(shè)計(jì)思想?。 3、學(xué)習(xí)利用循?環(huán)結(jié)構(gòu)實(shí)現(xiàn)?的一些常用?算法(如窮舉、迭代、遞推等)。 三、實(shí)驗(yàn)內(nèi)容: 說(shuō)明:前兩題為必?做題目,后兩題為選?做題目。 1、編一程序,對(duì)于給定的?一個(gè)百分制?成績(jī),輸出對(duì)應(yīng)A?,B,C,D,E表示的的?等級(jí)成績(jī)。設(shè):90分以上?為A,80-89分為B?,70-79分為C?,60-69分

38、為D?,60分以下?為E。(書(shū)P93) 2、百馬百擔(dān)問(wèn)?題。(實(shí)驗(yàn)指導(dǎo)書(shū)?P121) 3、輸入一行字?符,分別統(tǒng)計(jì)出?其中英文字?母、空格、數(shù)字和其他?字符的個(gè)數(shù)?。 4、輸出如下圖?案: * *** ***** ******* ***** *** * 四、實(shí)驗(yàn)步驟與?過(guò)程: 1、編一程序,對(duì)于給定的?一個(gè)百分制?成績(jī),輸出對(duì)應(yīng)A?,B

39、,C,D,E表示的的?等級(jí)成績(jī)。設(shè):90分以上?為A,80-89分為B?,70-79分為C?,60-69分為D?,60分以下?為E。(書(shū)P93) int score?,temp,logic?; char grade?; logic?=1; while?(logic?) { print?f("Input? Score?:"); scanf?("%d",&score?); if((score?>=100)||(score?==0)) print?f("\n Error?,Input? again?!\n"

40、); else logic?=0; print?f("\n"); } if(score?==100) temp=9; else temp=(score?-score?%10)/10; switc?h(temp) { case 9:grade?=A;break?; case 8:grade?=B;break?; case 7:grade?=C;break?; case 6:grade?=D;break?; case 5:

41、 case 4: case 3: case 2: case 1: case 0:grade?=E; } print?f("Score? is:%d,the grade? is:%c\n",score?,grade?); } 2、百馬百擔(dān)問(wèn)?題。(實(shí)驗(yàn)指導(dǎo)書(shū)?P121) #inclu?de"stdio?.h" void main() { int m,n,k; int sum=0; print?f("各種駝法如?下:\n"); for(m=1;m<=100;m++) for(

42、n=1;n<=100-m;n++) { k=100-m-n; if(m*3+n*2+k/2==100&&k%2==0) { print?f("大馬%3d匹;中馬%3d匹;小馬%3d匹.\n",m,n,k); sum++; } } print?f("共有%d種馱法.\n",sum); } 3、輸入一行字?符,分別統(tǒng)計(jì)出?其中英文字?母、空格、數(shù)字和其他?字符的個(gè)數(shù)?。 #inclu?de"stdio?.h" void main() { char c; int le

43、tte?r=0,space?=0,digit?=0,other?=0; print?f("請(qǐng)輸入一行?字符:\n"); while?((c=getch?ar())!=\n) { if(c>=a&&c<=z||c>=A&&c<=Z) lette?r++; else if(c= ) space?++; else if(c>=0&&c<=9) digit?++; else other?++; } print?f("lette?r:%d,space?

44、:%d,digit?:%d,other?:%d\n",lette?r,space?,digit?,other?); } 4、輸出如下圖?案: * *** ***** ******* ***** *** * #inclu?de"stdio?.h" void main() { int k,k1,k2;

45、for(k=1;k<=4;k++) { for(k1=1;k1<=20-k;k1++) print?f(" "); for(k2=1;k2<=k*2-1;k2++) print?f("*"); print?f("\n"); } for(k=3;k>0;k--) { for(k1=1;k1<=20-k;k1++) print?f(" "); for(k2=1;k2<=2*k-1;k2++) print?f("*"); print?f("\n"); } } 五、實(shí)驗(yàn)調(diào)試記?錄: 1

46、、switc?h(temp)嵌套,正確運(yùn)用。 3、while?((c=getch?ar())!=\n)關(guān)鍵語(yǔ)句。獲取字符。 4、for(k=1;k<=4;k++) { for(k1=1;k1<=20-k;k1++) print?f(" "); for(k2=1;k2<=k*2-1;k2++) print?f("*"); print?f("\n"); } for(k=3;k>0;k--) { for(k1=1;k1<=20-k;k1++) print?f(" "); for(k2=1;k2<=2*k-1

47、;k2++) print?f("*"); 循環(huán)的嵌套?,打印出預(yù)定?*。 六、參考答案:( 實(shí)驗(yàn)六 函數(shù)程序設(shè)?計(jì)(4學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、掌握C語(yǔ)言?中函數(shù)的三?要素:函數(shù)定義、函數(shù)調(diào)用和?函數(shù)說(shuō)明。 2、掌握通過(guò)參?數(shù)在函數(shù)間?傳遞數(shù)據(jù)的?方法。 3、掌握全局變?量、局部變量、動(dòng)態(tài)變量、靜態(tài)變量的?概念和使用?方法。 三、實(shí)驗(yàn)內(nèi)容: 說(shuō)明:前四題為必?做題目,后兩題為選?做題目。 1、從鍵盤(pán)輸入?三角形的3?條邊,調(diào)用三角形?面積函數(shù)求?出其面積,并輸出結(jié)果?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P130) 2、輸入

48、整數(shù)n?,輸出高度為?n的等邊三?角形。當(dāng)n=5時(shí)的等邊?三角形如下?:(實(shí)驗(yàn)指導(dǎo)書(shū)?P134) * *** ***** ******* ********* 3、輸入并運(yùn)行?以下程序,分析運(yùn)行結(jié)?果。 #inclu?de int a=5; int b=7; void main( ) { int a=4,b=5,c; c=plus(a,b); print?f(“a+b=%d\n”,c); } plus(int x,int y) { int z;

49、z=x+y; retur?n (z); } 4、求500以?內(nèi)的所有親?密數(shù)對(duì)。若正整數(shù)A?的所有因子?(包括1但不?包括自身,下同)之和為B,而B(niǎo)的因子?之和為A,則稱A和B?為一對(duì)親密?數(shù)對(duì)。(實(shí)驗(yàn)指導(dǎo)書(shū)?P136) 5、輸入并運(yùn)行?以下程序,分析運(yùn)行結(jié)?果。 #inclu?de int d=1; fun(int p) { stati?c int d=5; d+=p; print?f(“%d ”,d); retur?n (d); } void main( )

50、{ int a=3; print?f(“%d ”,fun(a+fun(d))); } 6、設(shè)計(jì)一個(gè)函?數(shù),輸出整數(shù)n?的所有素?cái)?shù)?因子。(書(shū)P157?) 四、實(shí)驗(yàn)步驟與?過(guò)程: 1、從鍵盤(pán)輸入?三角形的3?條邊,調(diào)用三角形?面積函數(shù)求?出其面積,并輸出結(jié)果?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P130) #inclu?de"math.h" #inclu?de"stdio?.h" float? area(float? a,float? b,float? c) { float? s,p,area; p=(a+b+c)/2; s=p*(p-a)*(p

51、-b)*(p-c); area=sqrt(s); retur?n(area); } main() { float? x,y,t,ts; scanf?("%f%f%f",&x,&y,&t); if(x>0&&y>0&&t>0&&x+y>t&&x+t>y&&t+y>x) {ts=area(x,y,t); print?f("area=%f\n",ts); } else print?f("data error?!\n"); } 2、輸入整數(shù)n?,輸出高度為?n的等邊三?角形。當(dāng)n=5時(shí)

52、的等邊?三角形如下?:(實(shí)驗(yàn)指導(dǎo)書(shū)?P134) * *** ***** ******* ********* #inclu?de"stdio?.h" void trang?le(int n) { int i,j; for(i=0;i

53、 main() { int n; print?f("Pleas?e enter? n:\n"); scanf?("%d",&n); print?f("\n"); trang?le(n); } 3、輸入并運(yùn)行?以下程序,分析運(yùn)行結(jié)?果。 #inclu?de int a=5; int b=7; void main( ) { int a=4,b=5,c; c=plus(a,b); print?f(“a+b=%d\n”,c); } plu

54、s(int x,int y) { int z; z=x+y; retur?n (z); } 結(jié)果a+b=9; int a=5;int b=7;為全局變量?,int a=4,b=5,c;為局部變量?,而局部變量?的優(yōu)先級(jí)比?全局變量的?優(yōu)先級(jí)高,故只算a=4,b=5,時(shí)的a,b值,所以結(jié)果a?+b=9。 4、求500以?內(nèi)的所有親?密數(shù)對(duì)。若正整數(shù)A?的所有因子?(包括1但不?包括自身,下同)之和為B,而B(niǎo)的因子?之和為A,則稱A和B?為一對(duì)親密?數(shù)對(duì)。(實(shí)驗(yàn)指導(dǎo)書(shū)?P136) #inclu?de"stdio?.h" int facsu?m(int m) {

55、 int sum=1,f=2; while?(f<=m/2) { if(m%f==0) sum+=f; f++; } retur?n sum; } main() { int m=3,n,k; while?(m<=500) { n=facsu?m(m); k=facsu?m(n); if(m==k&&m<=k) print?f("%d,%d\n",m,n); m++; } } 5、輸入并運(yùn)行?以下程序,分析運(yùn)行結(jié)?果。 #inclu?de <

56、stdio?.h> int d=1; fun(int p) { stati?c int d=5; d+=p; print?f(“%d ”,d); retur?n (d); } void main( ) { int a=3; print?f(“%d ”,fun(a+fun(d))); } 6、設(shè)計(jì)一個(gè)函?數(shù),輸出整數(shù)n?的所有素?cái)?shù)?因子。(書(shū)P157?) #inclu?de"stdio?.h" int prime?(int n) { int

57、 i,flag=1; for(i=2;i<=n/2;i++) if(n%i==0) { flag=0; retur?n flag; } retur?n flag; } void facto?r(int n) { int i; i=2; while?(i<=n) { if((n%i==0)&&prime?(i)) {print?f("%d \n",i); n=n/i; conti?nue; } i++; } } ma

58、in() { int num; print?f("Enter? num:"); scanf?("%d",&num); print?f("primr? facto?r is:\n"); facto?r(num); } 五、實(shí)驗(yàn)調(diào)試記?錄: 5、結(jié)果6 15 15.局部變量掩?蓋整體變量?。 6、d:\10020?10806?寧加彬?qū)嶒?yàn)?.doc\10020?10806?--應(yīng)化-108.do\6-06.c(13) : error? C2449?: found? { at file scope? (missi?ng funct?ion heade?r?) d

59、:\10020?10806?寧加彬?qū)嶒?yàn)?.doc\10020?10806?--應(yīng)化-108.do\6-06.c(24) : error? C2059?: synta?x error? : } Error? execu?ting cl.exe. 6-06.obj - 2 error?(s), 0 warni?ng(s) 六、參考答案:(省略) 實(shí)驗(yàn)七 數(shù)組程序設(shè)?計(jì)(4學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、掌握數(shù)組的?定義、賦值和輸入?輸出的方法?。 2、學(xué)習(xí)用

60、數(shù)組?實(shí)現(xiàn)相關(guān)的?算法(特別是排序?算法)。 3、掌握C語(yǔ)言?中字符數(shù)組?和字符串處?理函數(shù)的使?用。 三、實(shí)驗(yàn)內(nèi)容: 說(shuō)明:前四題為必?做題目,后兩題為選?做題目。 1、下列程序的?功能是:輸入10個(gè)?整數(shù),按每行3個(gè)?數(shù)輸出這些?整數(shù),最后輸出1?0個(gè)整數(shù)的?平均值。程序中有幾?處錯(cuò)誤,試找出它們?后加以修改?,并上機(jī)驗(yàn)證?修改結(jié)果。 #inclu?de void main( ) { int i,n=10, a[10]; float? avg=0; for(i=0;i

61、?(“%d”,&a[i]); for(if(i%3==0) print?f(“\n”); print?f(“%d=0;i

62、?的字符串。(實(shí)驗(yàn)指導(dǎo)書(shū)?P153) 4、輸入一個(gè)3?行3列矩陣?的所有元素?,然后求出主?對(duì)角線元素?之和。 5、給定某年某?月某日,將其轉(zhuǎn)換成?這一年的第?幾天并輸出?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P152) 6、編寫(xiě)程序,在有序的數(shù)?列中查找某?數(shù),若該數(shù)在此?數(shù)列中,則輸出它所?在的位置,否則輸出n?o found?。(書(shū)P191?) 四、實(shí)驗(yàn)步驟與?過(guò)程: 1、下列程序的?功能是:輸入10個(gè)?整數(shù),按每行3個(gè)?數(shù)輸出這些?整數(shù),最后輸出1?0個(gè)整數(shù)的?平均值。程序中有幾?處錯(cuò)誤,試找出它們?后加以修改?,并上機(jī)驗(yàn)證?修改結(jié)果。 #inclu?de v

63、oid main( ) { int i,n,a[10],avg; n=10; for(i=0;i

64、對(duì)輸入的1?0個(gè)整數(shù)按?從小到大的?順序排序(升序,用冒泡排序?實(shí)現(xiàn))。(實(shí)驗(yàn)指導(dǎo)書(shū)?P147) #inclu?de void sortl?(int s[],int n) { int i,j; int temp; for(i=0;i=i+1;j--) if(s[j]>s[j+1]) { temp=s[j]; s[j]=s[j+1]; s[j+1]=temp; } } void main() { int i,a[10]; print?f("請(qǐng)輸

65、入十個(gè)?整數(shù):"); for(i=0;i<10;i++) scanf?("%d",&a[i]); sortl?(a,10); print?f("排序后的輸?出為:\n"); for(i=0;i<10;i++) print?f("%d \n",a[i]); } (1)題7.37 編寫(xiě)程序,用冒泡法對(duì)?20個(gè)整數(shù)?排序(按升序排序?)。 #inclu?de"stdio?.h" #defin?e N 20 void main() { int data[N]; int i,j,t; print?f("請(qǐng)輸入 %d 個(gè)整數(shù):\n"

66、,N); for(i=0;idata[j+1]) { t=data[j];data[j]=data[j+1];data[j+1]=t;} print?f("排序后的輸?出為:\n"); for(i=0;i

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!