C語言全部實(shí)驗(yàn)_第1頁
C語言全部實(shí)驗(yàn)_第2頁
C語言全部實(shí)驗(yàn)_第3頁
C語言全部實(shí)驗(yàn)_第4頁
C語言全部實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1. 創(chuàng)建程序,實(shí)現(xiàn)計(jì)算一個(gè)數(shù)的平方和立方#include void main()int a;printf( 請(qǐng)輸入1個(gè)數(shù),按回車結(jié)束:);scanf(%d,&a);printf( %d的平方:%dn,a,a*a);printf( %d的立方:%dn,a,a*a*a);2計(jì)算兩個(gè)數(shù)的加減乘除. #include void main()float a,b;printf(-計(jì)算器-n);printf(請(qǐng)分別輸入2個(gè)數(shù),用空格分隔,按回車結(jié)束:n);scanf(%f%f,&a,&b);printf(計(jì)算結(jié)果:n);printf( %f + %f = %fn,a,b,a+b);printf( %f -

2、 %f = %fn,a,b,a-b);printf( %f * %f = %fn,a,b,a*b);printf( %f / %f = %fn,a,b,a/b);3猜數(shù)字#include /為了獲得隨機(jī)數(shù)#include #include /獲取時(shí)間int rNumber();void main()int a,number,i;printf(-小游戲-猜數(shù)字-n);number=rNumber();printf(隨機(jī)數(shù)字生成完成,游戲開始!n);printf(n);for(i=1;inumber)printf(您輸入的數(shù)字偏大!n);else if(a8)printf(您猜的不對(duì),對(duì)不起!游戲

3、失??!n); int rNumber()int number;srand(time(NULL);number=1+(rand()%100);/獲得一個(gè)100以內(nèi)的隨機(jī)數(shù)return number;實(shí)驗(yàn)3實(shí)驗(yàn)?zāi)康?、 掌握輸入輸出語句2、 掌握基礎(chǔ)數(shù)據(jù)類型實(shí)驗(yàn)內(nèi)容1、編寫程序,輸入兩個(gè)整數(shù),計(jì)算它們的商和余數(shù),并輸出,將源程序文件保存名稱為“1.c”。源文件:例:輸入9和2兩個(gè)整數(shù),結(jié)果圖:2、編寫程序,要求:輸入圓形半徑,計(jì)算圓形的面積和周長(zhǎng),源文件命名為“2.c”其中,要求使用符號(hào)常量PI。符號(hào)常量語句如下圖:運(yùn)行程序,輸入半徑5,輸入結(jié)果圖:#include /*定義符號(hào)常量PI 值為3.

4、1416*/#define PI 3.1416void main( )float r;printf(請(qǐng)輸入圓形半徑,按回車鍵結(jié)束:);scanf(%f,&r);printf(n圓形半徑:%fn,r);printf(圓形周長(zhǎng):%fn,2*PI*r);printf(圓形面積:%fn,PI*r*r);3、參考第1題,編寫程序,要求:輸入兩個(gè)整數(shù)分別賦值給x和y,計(jì)算方程式 (2x+3y)/x 的結(jié)果,源程序命名為“3.c”。例如:運(yùn)行程序,按提示分別輸入2個(gè)數(shù),例如4 5,運(yùn)行結(jié)果如圖。結(jié)果圖:#includevoid main()int x,y;printf(請(qǐng)輸入兩個(gè)整數(shù),用空格分隔開,按回車鍵

5、結(jié)束。n);scanf(%d%d,&x,&y);printf(輸出結(jié)果:n);printf(x=%dn,x);printf(y=%dn,y);printf(2x+3y)/x=%dn,(2*x+3*y)/x);4、輸入以下源程序代碼,查看運(yùn)行結(jié)果。 源代碼:5、編寫程序,要求:輸入一個(gè)三位整數(shù),分別輸出這個(gè)數(shù)字的百位、十位、個(gè)位。例如:輸入456,輸出結(jié)果如圖:#include void main()int a;printf(請(qǐng)輸入一個(gè)三位整數(shù),按回車鍵結(jié)束:);scanf(%d,&a);printf(n三位數(shù):%dn,a);printf(百位:%dn,a/100);printf(十位:%dn,

6、(a%100)/10);printf(個(gè)位:%dn,a%10);實(shí)驗(yàn)4實(shí)驗(yàn)?zāi)康?、 掌握輸入輸出語句4、 掌握基礎(chǔ)數(shù)據(jù)類型實(shí)驗(yàn)內(nèi)容1、編寫程序,計(jì)算三角形面積。計(jì)算三角形面積公式:,其中源文件:例:輸入6 6 6三個(gè)數(shù),結(jié)果圖:/*計(jì)算三角形面積*/#include /* math 為數(shù)學(xué)函數(shù)庫,里面包含各種數(shù)學(xué)函數(shù),其中計(jì)算平方根的函數(shù)為:sqrt() */#include void main()/*聲明4個(gè)整型變量,其中a,b,c分別為三角形的三條邊的長(zhǎng)度,area為三角形的面積。s為三角形周長(zhǎng)的一半 */float a,b,c,s,area;printf(請(qǐng)輸入三角形的三條邊,以空格分隔

7、,按回車鍵結(jié)束:n);/*輸入三角形的三條邊*/scanf(%f%f%f,&a,&b,&c);s = (a+b+c)/2;/*調(diào)用sqrt(),平方根函數(shù),根據(jù)公式計(jì)算三角形面積*/area = sqrt(s*(s-a)*(s-b)*(s-c); printf(三角形的三條邊分別為:%f %f %fn,a,b,c);printf(三角形的面積為:%fn,area);2、編寫程序,求一元二次方程的根(其中)(其中a,b,c的值由鍵盤輸入),方程式的根,公式如下:x=-bb2-4ac2a程序步驟如下:1) 先輸入a,b,c三個(gè)數(shù)2) 計(jì)算dt=b2-4ac3) 計(jì)算x1=-b+dt2a4) 計(jì)算x

8、2=-b-dt2a5) 輸出結(jié)果例如,運(yùn)行程序,輸入3 5 1,輸出結(jié)果圖:#include #include void main( )float a,b,c,dt,x1,x2;printf(請(qǐng)輸入三個(gè)數(shù),并用空格分隔,按回車鍵結(jié)束:n);scanf(%f%f%f,&a,&b,&c);dt = sqrt(b*b-4*a*c);x1 = (-b + dt)/(2*a);x2 = (-b - dt)/(2*a);printf(方程的根:nx1 = %fnx2 = %fn,x1,x2);3、編寫程序,要求:輸入一個(gè)三位整數(shù),分別輸出這個(gè)數(shù)字的百位、十位、個(gè)位,然后將百、十、個(gè)位數(shù)字順序顛倒,重新組合

9、,輸出新的三位整數(shù)。例如:輸入456,輸出結(jié)果如圖:#include void main()int a,b,c,d;printf(請(qǐng)輸入一個(gè)三位整數(shù),按回車鍵結(jié)束:);scanf(%d,&a);printf(n三位數(shù):%dn,a);b=a/100;c=a%100/10;d=a%10;printf(百位:%dn,a/100);printf(十位:%dn,(a%100)/10);printf(個(gè)位:%dn,a%10);printf(百、十、個(gè)位順序顛倒后,數(shù)字為:%dn,d*100+c*10+b);4、編寫程序,求解雞兔同籠問題,已知雞和兔總頭數(shù)為a,總腳數(shù)為b,求雞兔各多少只?(其中:a,b由鍵

10、盤輸入)提示:假設(shè)雞有x只,兔有y只,由題分析可得:x+y=a2x+4y=b所以,求解可得:x=2a-b/2y=b/2-a程序步驟如下:1) 定義變量雞和兔總頭數(shù)a、總腳數(shù)b,雞的個(gè)數(shù)x,兔的個(gè)數(shù)y。2) 先通過鍵盤讀取雞和兔總頭數(shù)a、總腳數(shù)b3) 根據(jù)公式計(jì)算:x=2a-b/24) 根據(jù)公式計(jì)算:y=b/2-a5) 輸出結(jié)果例如,運(yùn)行程序,分別輸入8和22,結(jié)果圖:#include void main()/*聲明變量*/int a,b,x,y;printf(請(qǐng)輸入雞和兔的總頭數(shù),按回車鍵結(jié)束:);scanf(%d,&a);printf(請(qǐng)輸入雞和兔的總腳數(shù),按回車鍵結(jié)束:);scanf(%d

11、,&b);x = 2*a - b/2;y = b/2 - a;printf(計(jì)算結(jié)果:n雞:%dn兔:%dn,x,y);實(shí)驗(yàn)5實(shí)驗(yàn)?zāi)康?、 掌握輸入輸出語句2、 掌握基礎(chǔ)數(shù)據(jù)類型實(shí)驗(yàn)內(nèi)容1、編寫程序,使用sizeof運(yùn)算符,計(jì)算各種數(shù)據(jù)類型在VC6.0環(huán)境中占的字節(jié)數(shù),程序命名為“1.c”輸出格式如圖。#include void main( )printf(short類型占%d個(gè)字節(jié)nn,sizeof(short);printf(int類型占%d個(gè)字節(jié)nn,sizeof(int);printf(long類型占%d個(gè)字節(jié)nn,sizeof(long);printf(float類型占%d個(gè)字節(jié)nn

12、,sizeof(float);printf(double類型占%d個(gè)字節(jié)nn,sizeof(double);printf(char類型占%d個(gè)字節(jié)nn,sizeof(char);2、輸入源程序,查看運(yùn)行結(jié)果,理解有符號(hào)整數(shù)的格式化輸出,程序命名為“2.c”。源程序文件:輸出結(jié)果:3、編寫程序,實(shí)現(xiàn)溫度換算,輸入攝氏溫度C,輸出對(duì)應(yīng)的華氏溫度F,程序命名為“3.c”。公式:F=(C*9/5)+32.例如運(yùn)行程序,輸入37.2,輸出效果圖:#include void main()/*聲明變量*/float f,c;printf(請(qǐng)輸入攝氏溫度,按回車鍵結(jié)束:);scanf(%f,&c);f = (

13、c*9/5)+32;printf(攝氏溫度:%f = 華氏溫度:%fn,c,f);4、編寫發(fā)工資的程序,輸入一個(gè)整數(shù)(工資),輸出發(fā)放工資需要100元、50元、20元、10元、5元、1元各幾張,程序命名為“4.c”。例如:工資為:2178,則需要100元21張,50元1張,20元1張,10元0張,5元1張,1元3張。效果圖:#include void main()int x,a100,a50,a20,a10,a5,a1;printf(請(qǐng)輸入工資金額,按回車鍵結(jié)束:);scanf(%d,&x);printf(工資金額:%dn,x);a100 = x/100;x %= 100;a50 = x/50

14、;x %= 50;a20 = x/20;x %= 20;a10 = x/10;x %= 10;a5 = x/5;a1 = x%5;printf(發(fā)放工資需要:n 100元 %4d 張n,a100);printf( 50元 %4d 張n,a50);printf( 20元 %4d 張n,a20);printf( 10元 %4d 張n,a10);printf( 5元 %4d 張n,a5);printf( 1元 %4d 張n,a1);實(shí)驗(yàn)6實(shí)驗(yàn)?zāi)康?、掌握輸入輸出語句2、掌握基礎(chǔ)數(shù)據(jù)類型實(shí)驗(yàn)內(nèi)容1、輸入教材例4-6程序,程序源代碼如下,程序命名為“1.c”。 運(yùn)行程序,(注意輸入數(shù)據(jù)的格式),輸入姓名

15、、出生日期、性別、各科成績(jī)。將運(yùn)行結(jié)果截圖,保存名稱為“1.jpg”.2、若a=3,b=4.c=5,x=1.2,y=2.4,x=-3.6,u=51274,n=,c1=a,c2=b,想要得到以下的輸出格式和結(jié)果,請(qǐng)編寫程序(包括定義變量類型、設(shè)計(jì)輸出格式),程序命名為“2.c”。其中(表示空格,要求printf函數(shù)中的格式控制字符串,不允許使用空格。)結(jié)果圖: 答案#include void main() int a=3,b=4,c=5; float x=1.2,y=2.4,z=-3.6; int u=51274,n=; char c1=a,c2=b; printf(輸出結(jié)果:n n); pri

16、ntf(a=%2d,b=%2d,c=%2dn,a,b,c); printf(x=%-8.4f,y=%-8.4f,z=%-8.4fn,x,y,z); printf(x+y=%5.2f,y+z=%5.2f,z+x=%5.2fn,x+y,y+z,z+x); printf(u=%010d,n=%9dn,u,n); printf(c1=%-2cor%3d(ASCII)n,c1,c1); printf(c2=%-2cor%3d(ASCII)n,c2,c2);3、三目運(yùn)算符( ?: )練習(xí),參考下面例題程序,完成下面題目。 題目要求:輸入3個(gè)整數(shù),輸出其中最大的整數(shù)。/*輸入兩個(gè)整數(shù),輸出其中最大的整數(shù)*/

17、答案#include void main()/*變量聲明,a,b存放兩個(gè)整數(shù),max存放最大的整數(shù)*/int a,b,c,max;printf(請(qǐng)輸入兩個(gè)整數(shù),使用空格分隔,按回車鍵結(jié)束n);scanf(%d%d%d,&a,&b,&c);/*使用三目運(yùn)算符計(jì)算,運(yùn)算規(guī)則如下:如果ab,max=a,否則max=b */max = ab?a:b;max = maxc?max:c;printf(兩個(gè)數(shù)中,最大的整數(shù)為%dn,max);4、編寫程序,要求任意輸入四位十六進(jìn)制整數(shù),以反序的方式輸出該十六進(jìn)制數(shù)。例如輸入9AFD,則輸出DFA9:(提示:數(shù)據(jù)類型使用short,輸入輸出格式符使用%hx)

18、答案#include void main()/*聲明變量*/unsigned short a,b,c,d;printf(請(qǐng)輸入十六進(jìn)制整數(shù),按回車鍵結(jié)束:n);scanf(%hx,&a);b=a12;c=a12&0x000f;a=a4&0x00f0;a=a+b+c+d;printf(反序輸出:%#hxn,a);實(shí)驗(yàn)7實(shí)驗(yàn)?zāi)康?、 掌握輸入輸出語句2、 掌握三目運(yùn)算符?:3、 掌握if結(jié)構(gòu)實(shí)驗(yàn)內(nèi)容1、編寫程序,從鍵盤輸入兩個(gè)整數(shù)分別賦值給變量a和b,將兩個(gè)變量的值互換并輸出。例如:a=1;b=2; 將變量值交換,使得a=2;b=1; 然后輸出。程序命名為“1.c”。輸出格式如圖:#include

19、 void main() int a,b; printf(-變量值互換!-n); printf(a=); scanf(%d,&a); printf(b=); scanf(%d,&b); printf(互換前:a=%-5db=%-5dn,a,b); a=a+b; b=a-b; a=a-b; printf(互換后:a=%-5db=%-5dn,a,b);2、數(shù)字0到9轉(zhuǎn)盤,要求用戶輸入一個(gè)0-9的數(shù)字,輸出數(shù)字的前驅(qū)和后繼數(shù)字,例如:輸入5,則輸出前驅(qū)數(shù)字為4,后繼數(shù)字為6.結(jié)果圖: #include void main()int a,m,n;printf(請(qǐng)輸入一個(gè)數(shù)字,按回車鍵結(jié)束!n);sca

20、nf(%d,&a);m = (a = 0?9:a-1);n = (a = 9?0:a+1);printf(輸入數(shù)字為:%4dn前驅(qū)數(shù)字為:%4dn后繼數(shù)字為: %4dn,a,m,n);3、編寫程序,輸入一個(gè)整數(shù),輸出該整數(shù)是正數(shù)還是負(fù)數(shù),是奇數(shù)還是偶數(shù)。例如:輸入: -4,輸出:您輸入的數(shù)字是負(fù)數(shù)、偶數(shù)。結(jié)果圖: #include void main()int a;printf(請(qǐng)輸入一個(gè)整數(shù):n);scanf(%d,&a);printf(您輸入的整數(shù)是:n);if(a=0)printf(t正數(shù)!n);elseprintf(t負(fù)數(shù)!n);if(a%2=0)printf(t偶數(shù)!n);elsep

21、rintf(t奇數(shù)!n);4、編寫程序,求一元二次方程的根,首先需要判斷b2-4ac 是否大于0,如果小于零,輸出方程無根,如果大于零,輸出方程的根.(其中a,b,c的值由鍵盤輸入,方程的根保留2位小數(shù)),方程式的根,公式如下:(提示:數(shù)學(xué)函數(shù)庫 ,平方根函數(shù) sqrt( ).)x=-bb2-4ac2a結(jié)果圖: #include #include void main()float a,b,c,dt;float x1,x2;printf(請(qǐng)輸入方程的三個(gè)系數(shù):n);printf(a = );scanf(%f,&a);printf(b = );scanf(%f,&b);printf(c = );s

22、canf(%f,&c);dt = sqrt(b*b-4*a*c);if(dt0)printf(方程無根!n);elsex1 = (-b + dt)/(2*a);x2 = (-b - dt)/(2*a);printf(方程的根: %8.2f%8.2fn,x1,x2);實(shí)驗(yàn)8實(shí)驗(yàn)?zāi)康?、 掌握輸入輸出語句2、 掌握if結(jié)構(gòu)實(shí)驗(yàn)內(nèi)容1、編寫程序,計(jì)算三角形面積,要求:a)從鍵盤輸入三個(gè)整數(shù)作為三角形的三條邊;b)判斷是否構(gòu)成三角形,如果不能,則輸出”不能構(gòu)成三角形”,否則計(jì)算三角形面積,結(jié)果保留2位小數(shù).源文件保存名稱為“1.c”。三角形的面積計(jì)算公式如下:(提示:數(shù)學(xué)函數(shù)庫 ,平方根函數(shù) sqrt

23、( ).),其中結(jié)果圖: #include #include void main()float a,b,c,s,area;printf(-計(jì)算三角形面積!-n);printf(輸入三角形的三條邊:n);printf(第一條邊:);scanf(%f,&a);printf(第二條邊:);scanf(%f,&a);printf(第三條邊:);scanf(%f,&a);if(a+bc&a+cb&b+ca)s = (a+b+c)/2;area = sqrt(s*(s-a)*(s-b)*(s-c);printf(三角形的面積:%8.2fn);elseprintf(您輸入的三條邊,無法構(gòu)成三角形!n);2、

24、編寫程序,根據(jù)下列公式,輸入x的值,計(jì)算y的值,結(jié)果保留2位小數(shù)。源文件保存名稱為“2.c”。y=x x1 2x-1 1x103x-11 x10 結(jié)果圖: #include #include void main()float x,y;printf(-計(jì)算公式!-n);printf(x = );scanf(%f,&x);if(x1)y = x;else if(x10)y = 2*x-1;else y = 3*x-11;printf(y = %.2fn,y);3、編寫程序,輸入學(xué)生成績(jī),輸出對(duì)應(yīng)的等級(jí)。成績(jī)和等級(jí)的關(guān)系,如下表所示。源文件保存名稱為“3.c”。成績(jī)等級(jí)90分以上(包括90)A80到

25、90之間(包括80)B70到80之間(包括70)C60到70之間(包括60)D60分以下E結(jié)果圖: #include void main()int a;printf(請(qǐng)輸入學(xué)生成績(jī):);scanf(%d,&a);if(a=90)printf(您的等級(jí)為:An);else if(a=80)printf(您的等級(jí)為:Bn);else if(a=70)printf(您的等級(jí)為:Cn);else if(a=60)printf(您的等級(jí)為:Dn);elseprintf(您的等級(jí)為:En);4、編寫程序,實(shí)現(xiàn)對(duì)三個(gè)整數(shù)由小到大排序,并輸出,源程序保存名稱為“4.c”。結(jié)果圖: #include void

26、main()int a,b,c,t;printf(-排序-n);printf(請(qǐng)分別輸入三個(gè)整數(shù):n);printf(a = );scanf(%d,&a);printf(b = );scanf(%d,&b);printf(c = );scanf(%d,&c);printf(排序前:n a = %4d b = %4d c = %4dn,a,b,c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(排序后:n a = %4d b = %4d c = %4dn,a,b,c);實(shí)驗(yàn)9實(shí)驗(yàn)?zāi)康?、 掌握輸入輸出語句2、 掌握if結(jié)

27、構(gòu)3、 掌握switch語句實(shí)驗(yàn)內(nèi)容1、在屏幕上顯示一張如下所示的時(shí)間表:用戶根據(jù)提示進(jìn)行選擇, 程序根據(jù)輸入的時(shí)間序號(hào)顯示相應(yīng)的問候信息,選擇1時(shí)顯示“Good morning”,選擇2時(shí)顯示“Good afternoon”,選擇3時(shí)顯示“Good night”,對(duì)于其他的選擇顯示“Selection error!”,用switch語句完成,源程序保存名稱為“1.c”。效果如圖: #include void main()int a;printf(*Time*n);printf(1 morningn);printf(2 afternoonn);printf(3 nightn);printf(P

28、lease enter your choice:);scanf(%d,&a);switch(a)case 1:printf(Good morning!n);break;case 2:printf(Good afternoon!n);break;case 3:printf(Good night!n);break;default:printf(Selection error!n);break;2、編寫程序,實(shí)現(xiàn)對(duì)四個(gè)整數(shù)由大到小排序,并輸出,源程序保存名稱為“2.c”。效果如圖:#include void main()int a,b,c,d,t;printf(-排序-n);printf(請(qǐng)輸入四個(gè)

29、整數(shù),用空格鍵分開,按回車鍵結(jié)束:n);scanf(%d%d%d%d,&a,&b,&c,&d);printf(-n);printf(排序前:%4d%4d%4d%4dn,a,b,c,d);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(ad)t=a;a=d;d=t;if(bc)t=b;b=c;c=t;if(bd)t=b;b=d;d=t;if(cd)t=c;c=d;d=t;printf(排序后:%4d%4d%4d%4dn,a,b,c,d);3、編寫程序,輸入三角形的三條邊,判斷是否能夠成三角形,如果能夠成三角形,輸入構(gòu)成的是等腰三角形、等邊三角形、直角三角形,還是普通

30、的三角形。結(jié)果圖:#include void main()int a,b,c,t;t=0;printf(請(qǐng)輸入三角形的三條邊,按回車鍵結(jié)束:n);scanf(%d%d%d,&a,&b,&c);printf(您輸入的三條邊分別為:%4d%4d%4d ,a,b,c);if(a+bc & a+cb & b+ca)if(a=b | b=c | a=c)if(a=b&b=c)t=1;elset=2;else if(a*a+b*b=c*c | a*a+c*c=b*b | b*b+c*c=a*a)t=3;elset=4;elset=0;switch(t)case 1:printf(構(gòu)成 等邊三角形!);br

31、eak;case 2:printf(構(gòu)成 等腰三角形!);break;case 3:printf(構(gòu)成 直角三角形!);break;case 4:printf(構(gòu)成 普通的三角形!);break;case 0:printf(不能構(gòu)成 三角形!);break;printf(n);4、輸入一個(gè)5位以內(nèi)的整數(shù),輸出這是幾位數(shù),并分別輸出每一位的數(shù)字。結(jié)果圖:答案#include void main()int a,t,w1,w2,w3,w4,w5;printf(請(qǐng)輸入一個(gè)5位以內(nèi)的整數(shù)n);scanf(%d,&a);if(a=10000)t=5;else if(a=1000)t=4;else if(a

32、=100)t=3;else if(a=10)t=2;elset=1;w5=a/10000;w4=a%10000/1000;w3=a%1000/100;w2=a%100/10;w1=a%10;printf(輸入的數(shù)字為:%4d,這是一個(gè)%4d位數(shù)n,a,t);printf(每一位的數(shù)字分別為:);switch(t)case 1:printf(%4d,w1);break;case 2:printf(%4d%4d,w2,w1);break;case 3:printf(%4d%4d%4d,w3,w2,w1);break;case 4:printf(%4d%4d%4d%4d,w4,w3,w2,w1);b

33、reak;case 5:printf(%4d%4d%4d%4d%4d,w5,w4,w3,w2,w1);break;printf(n);實(shí)驗(yàn)10實(shí)驗(yàn)?zāi)康?、 掌握if結(jié)構(gòu)2、 掌握switch語句3、 循環(huán)結(jié)構(gòu)實(shí)驗(yàn)內(nèi)容1、編寫程序,從鍵盤輸入任意兩個(gè)數(shù)和一個(gè)運(yùn)算符(+、-、*、/),計(jì)算其運(yùn)算的結(jié)果并輸出,源程序保存名稱為“1.c”。效果如圖: #include void main() float a, b; /存放兩個(gè)數(shù)的變量 int tag = 0; /運(yùn)算合法的標(biāo)志,0-合法,1-非法 char ch; /運(yùn)算符變量 float result; /運(yùn)算結(jié)果變量 printf(輸入兩個(gè)數(shù):

34、); /提示輸入兩個(gè)數(shù) scanf(%f%f, &a, &b); /輸入兩個(gè)數(shù) fflush(stdin); /清鍵盤緩沖區(qū) printf(輸入運(yùn)算符(+ - * /): ); /提示輸入運(yùn)算符 scanf(%c, &ch); /輸入運(yùn)算符 switch(ch) /根據(jù)運(yùn)算符來進(jìn)行相關(guān)的運(yùn)算 case +: result = a + b; break; /加法運(yùn)算 case -: result = a - b; break; /減法運(yùn)算 case *: result = a * b; break; /乘法運(yùn)算 case /: if (!b) /除法運(yùn)算,判除數(shù)是否為0 printf(除數(shù)為零!

35、n); /顯示除數(shù)為0 tag = 1; /置運(yùn)算非法標(biāo)志 else /除數(shù)非0 result = a / b; /計(jì)算商 break; default: printf(非法的運(yùn)算符!n); /非法的運(yùn)算符 tag = 1; /置運(yùn)算非法標(biāo)志 if (!tag) /運(yùn)算合法,顯示運(yùn)算結(jié)果 printf(%.2f %c %.2f = %.2fn, a, ch, b, result);2、編寫程序,輸入一個(gè)年份和月份,打印出該月份有多少天(考慮閏年),要求使用switch語句編程。(注意:閏年的二月份29天,平年的二月份28天),源程序保存名稱為“2.c”。效果如圖:/計(jì)算某年某月有幾天#incl

36、ude void main()int year,month,day;printf(年份:);scanf(%d,&year);printf(月份:);scanf(%d,&month);switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case 12: day=31;break;case 4:case 6:case 9:case 11: day=30;break;case 2:if(year%4=0 & year%100!=0) | year%400=0)day=29;else day=28;break;printf(%4d年%02d月

37、: 共有%2d天n,year,month,day);3、編寫程序,計(jì)算使用某快遞公司運(yùn)輸貨物的運(yùn)費(fèi),源程序保存名稱為“3.c”要求:1)顯示目的城市列表,通過輸入需要選擇城市。2)輸入貨物重量。3)根據(jù)運(yùn)費(fèi)價(jià)格表,來計(jì)算運(yùn)費(fèi),其中首重費(fèi)用為1kg以內(nèi)的費(fèi)用,超過1kg的部分每公斤使用續(xù)重費(fèi)用計(jì)算。4)1公斤內(nèi)的總運(yùn)費(fèi) = 首重費(fèi)用 大于1公斤的總運(yùn)費(fèi) = 首重費(fèi)用 + (重量-1)*續(xù)重城市首重費(fèi)用(元/公斤)續(xù)重費(fèi)用(元/公斤)廣東省61江蘇省108四川省1512西藏2218效果圖:/計(jì)算運(yùn)費(fèi)#include void main()int w,p,x,t,f;printf(-計(jì)算運(yùn)費(fèi)-n);

38、printf(1. 廣東省n);printf(2. 江蘇省n);printf(3. 四川省n);printf(4. 西藏n);printf(請(qǐng)選擇目的城市(序號(hào)): );scanf(%d,&t);printf(請(qǐng)輸入貨物的重量(公斤): );scanf(%d,&w);printf(-輸出- n);switch(t)case 1:p=6;x=1;printf(您送貨的城市為:廣東);break;case 2:p=10;x=8;printf(您送貨的城市為:江蘇);break;case 3:p=15;x=12;printf(您送貨的城市為:四川);break;case 4:p=22;x=18;pr

39、intf(您送貨的城市為:西藏);break;if(w=1)f=p;elsef=p + (w-1)*x;printf(n貨物重量:%dn首重:%d 續(xù)重:%dn總運(yùn)費(fèi):%dn,w,p,x,f);4、編寫程序,計(jì)算1到100之間的奇數(shù)的和(1+3+5+99),源程序保存名稱為“4.c”。結(jié)果圖:/奇數(shù)的和#include void main()int i,sum;i=1;sum=0;while(i100)sum+=i;i+=2;printf(1+3+5+.+99 = %dn,sum);5、編寫程序,輸出1到20之間的能被3整除的整數(shù),源程序保存名稱為”5.c”。/輸出20以內(nèi) 能被3 整除#in

40、clude void main()int i;i=1;printf(20以內(nèi)能被3整除的數(shù):n);while(i=20)if(i%3=0)printf(%4d,i);i+;printf(n);實(shí)驗(yàn)11實(shí)驗(yàn)?zāi)康?、 循環(huán)結(jié)構(gòu)實(shí)驗(yàn)內(nèi)容1、編寫程序,輸出100-1000之間的“水仙花數(shù)”。所謂的“水仙花數(shù)”是指一個(gè)三位數(shù),其個(gè)位數(shù)字的立方和等于該數(shù)本身,例如:153是“水仙花數(shù)“,因?yàn)?53=13+53+33,源程序保存名稱為“1.c”。效果如圖: #include void main() int i=100,a,b,c; printf(水仙花數(shù):); while(i1000) a=i/100; b

41、=i%100/10; c=i%10; if(i=a*a*a+b*b*b+c*c*c) printf(%5d,i); i+; printf(n);2、編寫程序,輸出1*2*3+3*4*5+5*6*7+7*8*9+99*100*101的值。源程序保存名稱為“2.c”。效果如圖:#include void main()int i=1,j=2,k=3,s=0;while(i=99)s+=i*j*k;i+=2;j+=2;k+=2;printf(1*2*3+3*4*5+.+99*100*101 = %dn,s);3、編寫程序,輸入兩個(gè)正整數(shù),輸出兩個(gè)數(shù)的最小公倍數(shù)和最大公因子。源程序保存名稱為“3.c”最

42、小公倍數(shù):幾個(gè)數(shù)共有的倍數(shù)叫做這幾個(gè)數(shù)的公倍數(shù),其中除0以外最小的一個(gè)公倍數(shù),叫做這幾個(gè)數(shù)的最小公倍數(shù)。最大公因數(shù):最大公因數(shù),也稱最大公約數(shù)、最大公因子,指兩個(gè)或多個(gè)整數(shù)共有約數(shù)中最大的一個(gè)。例如:6和15,最大公因子為3,最小公倍數(shù)為30.效果圖:#include void main()int a,b,m,n;printf(請(qǐng)輸入兩個(gè)整數(shù):);scanf(%d%d,&a,&b);m = ab?b:a;n = ab?a:b;while (m=1)if(a%m=0 & b%m=0)break;m-;while(1)if(n%a=0 &n%b=0)break;n+;printf(-n輸入的兩個(gè)數(shù)

43、: %dt%dn最小公倍數(shù): %dn最大公因子: %dn-n,a,b,n,m);4、編寫程序,輸入開始的數(shù)字x和結(jié)束的數(shù)字y,輸出x和y之間的所有偶數(shù)的和,源程序保存名稱為“4.c”。效果圖:void main()int x,y,i,s=0;printf(開始的數(shù)字:);scanf(%d,&x);printf(結(jié)束的數(shù)字:);scanf(%d,&y);i=x;while(i=y)if(i%2=0)s+=i;i+;printf(%d到%d之間,所有偶數(shù)的和:%dn,x,y,s);實(shí)驗(yàn)12實(shí)驗(yàn)?zāi)康?、 循環(huán)結(jié)構(gòu)實(shí)驗(yàn)內(nèi)容1、編寫程序,計(jì)算n的階乘(n!),其中n的值由用戶輸入,取值在1-10 之間。分別使用while和for語句實(shí)現(xiàn),源程序保存名稱為“1.c”和“2.c”。效果如圖: #include void main() int i,n,jc; printf(請(qǐng)輸入一個(gè)1-10之間的整數(shù): ); scanf(%d,&n); i=1;j

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論