




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 1 C語(yǔ)言電子教案(五)語(yǔ)言電子教案(五) l 第五講第五講 第五章第五章 邏輯運(yùn)算和判斷選取控制邏輯運(yùn)算和判斷選取控制l 主要內(nèi)容:主要內(nèi)容:l 5.4 switch5.4 switch語(yǔ)句語(yǔ)句l 5.5 5.5 選擇結(jié)構(gòu)程序舉例選擇結(jié)構(gòu)程序舉例l 2 5.4 switch 語(yǔ)句語(yǔ)句(開(kāi)關(guān)語(yǔ)句、多分支選擇語(yǔ)句開(kāi)關(guān)語(yǔ)句、多分支選擇語(yǔ)句)l switch 語(yǔ)句的格式語(yǔ)句的格式:l switch (表達(dá)式表達(dá)式)l case 常量常量1 : 語(yǔ)句語(yǔ)句1; break;lcase 常量常量2 : 語(yǔ)句語(yǔ)句2; break;lcase 常量常量3 : 語(yǔ)句語(yǔ)句3; break;l lcase 常量常
2、量n : 語(yǔ)句語(yǔ)句n;break;ldefault : 語(yǔ)句語(yǔ)句n+1 執(zhí)行過(guò)程:執(zhí)行過(guò)程:先計(jì)算先計(jì)算表達(dá)式表達(dá)式之值之值,如果與某個(gè)如果與某個(gè)case語(yǔ)句中的常量的值匹配語(yǔ)句中的常量的值匹配(即相同),則執(zhí)行其后的語(yǔ)句;若所有的(即相同),則執(zhí)行其后的語(yǔ)句;若所有的case語(yǔ)句中的常語(yǔ)句中的常量的值都量的值都 不能與之匹配,則執(zhí)行不能與之匹配,則執(zhí)行default后的語(yǔ)句后的語(yǔ)句n+1。根據(jù)表達(dá)式的值找入口根據(jù)表達(dá)式的值找入口注意注意:則執(zhí)行完入口語(yǔ)句后則執(zhí)行完入口語(yǔ)句后,則自動(dòng)轉(zhuǎn)到下一個(gè)則自動(dòng)轉(zhuǎn)到下一個(gè)case后面的語(yǔ)句執(zhí)行;如果語(yǔ)句中有后面的語(yǔ)句執(zhí)行;如果語(yǔ)句中有break;,則執(zhí)行,
3、則執(zhí)行完一個(gè)入口語(yǔ)句后跳出完一個(gè)入口語(yǔ)句后跳出switch選擇結(jié)構(gòu)。選擇結(jié)構(gòu)。 3 switch 語(yǔ)句流程圖(有語(yǔ)句流程圖(有break;語(yǔ)句)語(yǔ)句)表達(dá)式表達(dá)式語(yǔ)句語(yǔ)句1語(yǔ)句語(yǔ)句2語(yǔ)句語(yǔ)句3語(yǔ)句語(yǔ)句n=常量常量1=常量常量2=常量常量3=常量常量n語(yǔ)句語(yǔ)句n+1=其它其它 4 switch 語(yǔ)句流程圖(無(wú)語(yǔ)句流程圖(無(wú)break;語(yǔ)句)語(yǔ)句)表達(dá)式表達(dá)式語(yǔ)句語(yǔ)句1語(yǔ)句語(yǔ)句2語(yǔ)句語(yǔ)句3語(yǔ)句語(yǔ)句n=常量常量1=常量常量2=常量常量3=常量常量n語(yǔ)句語(yǔ)句n+1=其它其它 5 switch語(yǔ)句的使用舉例語(yǔ)句的使用舉例1:求分段函數(shù)的值:求分段函數(shù)的值 1+x x=1 2*x x=2 x*x x=3
4、x 其它其它y= 求分段函數(shù)的值:求分段函數(shù)的值: 6 main( ) int x,y; scanf(%d,&x); switch(x) case 1: y=1+x; break; case 2: y=2*x; break; case 3: y=x*x; break; default : y=x; printf(x=%d,y=%dn,x,y); 用用switch語(yǔ)句求分段函數(shù)的值程序語(yǔ)句求分段函數(shù)的值程序注意:關(guān)鍵字注意:關(guān)鍵字case后面一定要留空格,且后面一定要留空格,且case后面后面應(yīng)為常量。應(yīng)為常量。程序運(yùn)行后,如果從鍵盤(pán)上輸入程序運(yùn)行后,如果從鍵盤(pán)上輸入3,則程序,則程序運(yùn)
5、行的順序和結(jié)果如下:運(yùn)行的順序和結(jié)果如下:x=3,y=9這是一個(gè)這是一個(gè)switch語(yǔ)句語(yǔ)句 7 用用switch語(yǔ)句求分段函數(shù)的值程序語(yǔ)句求分段函數(shù)的值程序main( ) int x,y; scanf(%d,&x); switch(x) case 1: y=1+x; break; case 2: y=2*x; break; case 3: y=x*x; break; default : y=x; printf(x=%d,y=%dn,x,y); 程序運(yùn)行后,如果從鍵盤(pán)上輸入程序運(yùn)行后,如果從鍵盤(pán)上輸入-3,則程,則程序運(yùn)行的順序和結(jié)果如下:序運(yùn)行的順序和結(jié)果如下:x=-3,y=-3這是
6、一個(gè)這是一個(gè)switch語(yǔ)句語(yǔ)句 8 switch語(yǔ)句的使用例語(yǔ)句的使用例2:輸入分段成績(jī),打印出分?jǐn)?shù)段:輸入分段成績(jī),打印出分?jǐn)?shù)段main( ) char c; printf(Please enter a charn); c=getchar( ); c=(c=a & c=z)?c-32:c; switch(c) case A : printf(90100n); break; case B : printf(8089n); break; case C : printf(7079n); break; case D : printf(6069n); break; default : pri
7、ntf(60n); /*為輸入作提示為輸入作提示*/* 將將c轉(zhuǎn)換成大寫(xiě)轉(zhuǎn)換成大寫(xiě) */注意:注意:case后面應(yīng)為字符常量后面應(yīng)為字符常量A、B等,不能為等,不能為變量變量A、B等。等。程序運(yùn)行后,如果從鍵盤(pán)上輸入程序運(yùn)行后,如果從鍵盤(pán)上輸入b,則程,則程序運(yùn)行的順序和結(jié)果如下:序運(yùn)行的順序和結(jié)果如下:8090 9 switch 語(yǔ)句使用說(shuō)明語(yǔ)句使用說(shuō)明l 各個(gè)語(yǔ)句后如果沒(méi)有各個(gè)語(yǔ)句后如果沒(méi)有break;break;語(yǔ)句,則執(zhí)行了語(yǔ)句,則執(zhí)行了相應(yīng)的操作后,會(huì)自動(dòng)轉(zhuǎn)到下一個(gè)相應(yīng)的操作后,會(huì)自動(dòng)轉(zhuǎn)到下一個(gè)casecase后面后面的語(yǔ)句執(zhí)行。的語(yǔ)句執(zhí)行。l 可以使多個(gè)可以使多個(gè)casecase共
8、用同一組執(zhí)行語(yǔ)句。共用同一組執(zhí)行語(yǔ)句。l casecase后面的表達(dá)式不能相同。后面的表達(dá)式不能相同。l 各個(gè)各個(gè)casecase和和defaultdefault語(yǔ)句的順序可以改變。語(yǔ)句的順序可以改變。 10 switch選擇結(jié)構(gòu)中選擇結(jié)構(gòu)中break語(yǔ)句的使用語(yǔ)句的使用main( ) char c; printf(Please enter a charn); c=getchar( ); c=(c=a & c=z)?c-32:c; switch(c) case A : printf(90100n); case B : printf(8089n); case C : printf(707
9、9n); case D : printf(6069n); default : printf(60n); /*為輸入作提示為輸入作提示*/* 將將c轉(zhuǎn)換成大寫(xiě)轉(zhuǎn)換成大寫(xiě) */去掉去掉break;語(yǔ)句,程序運(yùn)行后,仍從鍵盤(pán)上輸入語(yǔ)句,程序運(yùn)行后,仍從鍵盤(pán)上輸入b,則程序運(yùn)行的順序和結(jié)果如下:,則程序運(yùn)行的順序和結(jié)果如下:80907079606960 11 switch語(yǔ)句應(yīng)用例語(yǔ)句應(yīng)用例3:按運(yùn)輸距離計(jì)算運(yùn)費(fèi):按運(yùn)輸距離計(jì)算運(yùn)費(fèi)距離距離s與運(yùn)費(fèi)折扣標(biāo)準(zhǔn)如下:與運(yùn)費(fèi)折扣標(biāo)準(zhǔn)如下: s250 沒(méi)有折扣沒(méi)有折扣250s500 2%折扣折扣500s1000 5%折扣折扣1000s2000 8%折扣折扣20
10、00s3000 10%折扣折扣3000s 15%折扣折扣 12 按運(yùn)輸距離計(jì)算運(yùn)費(fèi)算法分析按運(yùn)輸距離計(jì)算運(yùn)費(fèi)算法分析s折扣折扣d(%)250500100020003000246810121416124812c注意到:折扣點(diǎn)的變化都是注意到:折扣點(diǎn)的變化都是250的整倍數(shù)??梢詫⒌恼稊?shù)??梢詫按每按每250分作一個(gè)段賦給變量分作一個(gè)段賦給變量c,簡(jiǎn)化,簡(jiǎn)化case的入口情況。的入口情況。002581015 13 按運(yùn)輸距離計(jì)算運(yùn)費(fèi)程序按運(yùn)輸距離計(jì)算運(yùn)費(fèi)程序main( ) int s,c,w; float p,f,d; scanf(%d,%d,&f,&s,&w,&
11、;p); c=s/250; switch( c ) case 0: d=0; break; case 1: d=0.02; break; case 2: case 3: d=5.0/100; break; case 4: case 5: case 6: case 7: d=8.0/100;break; case 8: case 9: case 10: case 11: d=10.0/100; break; default : d=15.0/100; f=s*(1-d)*w*p; printf(s=%d,w=%d,f=%.2fn,s,d,f);注意:要表示百分之二必須用注意:要表示百分之二必須用
12、0.02或者或者2.0/100等表示方法,切不可用等表示方法,切不可用2%表示。表示。/* 將將s的值分段,分段結(jié)果放入的值分段,分段結(jié)果放入c中中 */可以多個(gè)可以多個(gè)case共用一組執(zhí)行語(yǔ)句共用一組執(zhí)行語(yǔ)句 14 按運(yùn)輸距離計(jì)算運(yùn)費(fèi)程序運(yùn)行過(guò)程按運(yùn)輸距離計(jì)算運(yùn)費(fèi)程序運(yùn)行過(guò)程main( ) int s,c,w; float p,f,d; scanf(%d,%d,%f,&s,&w,&p); c=s/250; switch( c ) case 0: d=0; break; case 1: d=0.02; break; case 2: case 3: d=5.0/100;
13、break; case 4: case 5: case 6: case 7: d=8.0/100; break; case 8: case 9: case 10: case 11: d=10.0/100; break; default : d=15.0/100; f=s*(1-d)*w*p; printf(s=%d,w=%d,f=%.0fn,s,w,f); 如果從鍵盤(pán)上輸入如果從鍵盤(pán)上輸入1300,1000,1.2,則程,則程序運(yùn)行的過(guò)程及結(jié)果如下:序運(yùn)行的過(guò)程及結(jié)果如下:s=1300,w=1000,f=1435200 15 判斷閏年算法分析判斷閏年算法分析輸出輸出year不是不是閏年閏年Yy
14、ear%100!=0N輸出輸出year是是閏年閏年Yyear%400!=0N輸出輸出year不是不是閏年閏年YN輸出輸出year是是閏年閏年year%4!=0 16 5.4 選擇結(jié)構(gòu)程序舉例選擇結(jié)構(gòu)程序舉例l 判斷閏年判斷閏年l 求一元二次方程的根求一元二次方程的根l 小學(xué)生做算術(shù)題小學(xué)生做算術(shù)題l 數(shù)字拆分?jǐn)?shù)字拆分l 三個(gè)數(shù)的排序三個(gè)數(shù)的排序l 三個(gè)數(shù)中求最大數(shù)三個(gè)數(shù)中求最大數(shù)l 收費(fèi)和個(gè)人所得稅計(jì)算收費(fèi)和個(gè)人所得稅計(jì)算l 分段函數(shù)值的計(jì)算分段函數(shù)值的計(jì)算l 判斷字母、數(shù)字判斷字母、數(shù)字 17 例例1 用多層選擇結(jié)構(gòu)判斷閏年程序用多層選擇結(jié)構(gòu)判斷閏年程序 #include stdlib.h
15、main() int year; scanf(%d,&year); if(year%4!=0) printf(%d is not a leap yearn,year); else if(year%100!=0) printf(%d is a leap yearn,year); else if(year%400!=0) printf(%d is not a leap yearn,year); else printf(%d is a leap yearn,year); 這是一個(gè)這是一個(gè)多層選擇多層選擇結(jié)構(gòu)結(jié)構(gòu) 18 用多層選擇結(jié)構(gòu)判斷閏年程序運(yùn)行過(guò)程用多層選擇結(jié)構(gòu)判斷閏年程序運(yùn)行過(guò)程 #i
16、nclude stdlib.h main( ) int year; scanf(%d,&year); if(year%4!=0) printf(%d is not a leap yearn,year); else if(year%100!=0) printf(%d is a leap yearn,year); else if(year%400!=0) printf(%d is not a leap yearn,year); else printf(%d is a leap yearn,year); 這是一個(gè)這是一個(gè)多層選擇多層選擇結(jié)構(gòu)結(jié)構(gòu)如果從鍵盤(pán)上輸入如果從鍵盤(pán)上輸入2000,則程,
17、則程序運(yùn)行的過(guò)程及結(jié)果如下:序運(yùn)行的過(guò)程及結(jié)果如下: 19 用多層選擇結(jié)構(gòu)判斷閏年程序運(yùn)行過(guò)程用多層選擇結(jié)構(gòu)判斷閏年程序運(yùn)行過(guò)程 #include stdlib.h main( ) int year; scanf(%d,&year); if(year%4!=0) printf(%d is not a leap yearn,year); else if(year%100!=0) printf(%d is a leap yearn,year); else if(year%400!=0) printf(%d is not a leap yearn,year); else printf(%d
18、is a leap yearn,year); 這是一個(gè)這是一個(gè)多層選擇多層選擇結(jié)構(gòu)結(jié)構(gòu)如果從鍵盤(pán)上輸入如果從鍵盤(pán)上輸入1900,則程,則程序運(yùn)行的過(guò)程及結(jié)果如下:序運(yùn)行的過(guò)程及結(jié)果如下: 20 用多層選擇結(jié)構(gòu)判斷閏年程序運(yùn)行過(guò)程用多層選擇結(jié)構(gòu)判斷閏年程序運(yùn)行過(guò)程 #include stdlib.h main( ) int year; scanf(%d,&year); if(year%4!=0) printf(%d is not a leap yearn,year); else if(year%100!=0) printf(%d is a leap yearn,year); else i
19、f(year%400!=0) printf(%d is not a leap yearn,year); else printf(%d is a leap yearn,year); 這是一個(gè)這是一個(gè)多層選擇多層選擇結(jié)構(gòu)結(jié)構(gòu)如果從鍵盤(pán)上輸入如果從鍵盤(pán)上輸入2001,則程,則程序運(yùn)行的過(guò)程及結(jié)果如下:序運(yùn)行的過(guò)程及結(jié)果如下: 21 用多層選擇結(jié)構(gòu)判斷閏年程序執(zhí)行過(guò)程用多層選擇結(jié)構(gòu)判斷閏年程序執(zhí)行過(guò)程 #include stdlib.h main( ) int year; scanf(%d,&year); if(year%4!=0) printf(%d is not a leap yearn,
20、year); else if(year%100!=0) printf(%d is a leap yearn,year); else if(year%400!=0) printf(%d is not a leap yearn,year); else printf(%d is a leap yearn,year); 這是一個(gè)這是一個(gè)多層選擇多層選擇結(jié)構(gòu)結(jié)構(gòu)如果從鍵盤(pán)上輸入如果從鍵盤(pán)上輸入1968,則程,則程序運(yùn)行的過(guò)程及結(jié)果如下:序運(yùn)行的過(guò)程及結(jié)果如下: 22 多層選擇結(jié)構(gòu)判斷閏年程序(使用一個(gè)標(biāo)志變量)多層選擇結(jié)構(gòu)判斷閏年程序(使用一個(gè)標(biāo)志變量) #include stdlib.h main(
21、) int year,leap; scanf(%d,&year); if(year%4!=0) leap=0; else if(year%100!=0) leap=1; else if(year%400!=0) leap=0; else leap=1; if (leap) printf(%d is a leap yearn,year); else printf(%d is not a leap yearn,year); 這是一個(gè)這是一個(gè)多層選擇多層選擇結(jié)構(gòu)結(jié)構(gòu)這是一個(gè)這是一個(gè)雙邊結(jié)構(gòu)雙邊結(jié)構(gòu) 23 例例2 求一元二次方程的根程序求一元二次方程的根程序#include main( ) f
22、loat a,b,c,disc,x1,x2,real,imag; scanf(%f,%f,%f,&a,&b,&c); if ( a=0 ) printf(Data Error!n); else disc=b*b-4*a*c; if ( disc = 0 ) printf(one real root is:%8.4fn,-b/(2*a); else if( disc 1e-6) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); printf( two real roots are: %8.4f and %8.4f,x1,x
23、2); else real=-b/(2*a); imag=sqrt(-disc)/(2*a); printf(complex roots are:n); printf(%8.4f+%8.4fin,real,imag); printf(%8.4f+%8.4fin,real,imag); 24 求一元二次方程的根程序求一元二次方程的根程序#include main( ) float a,b,c,disc,x1,x2,real,imag; scanf(%f,%f,%f,&a,&b,&c); if( fabs(a)=1e-6) printf(Data Error!n); els
24、e disc=b*b-4*a*c; if(fabs(disc)1e-6) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); printf( two real roots are: %8.4f and %8.4f,x1,x2); else real=-b/(2*a); imag=sqrt(-disc)/(2*a); printf(complex roots are:n); printf(%8.4f+%8.4fin,real,imag); printf(%8.4f-%8.4fin,real,imag); 25 例例3 小學(xué)生解小學(xué)生解100以?xún)?nèi)加法
25、問(wèn)題以?xún)?nèi)加法問(wèn)題#include main( ) int a,b,c; a=rand( )%100; b=rand( )%100; scanf(%d,&c); if( c=a+b) printf(You are right!n); else printf(You are wrong!n); /* 產(chǎn)生一個(gè)產(chǎn)生一個(gè)099之間的隨機(jī)數(shù)之間的隨機(jī)數(shù) */* 再產(chǎn)生一個(gè)再產(chǎn)生一個(gè)099之間的隨機(jī)數(shù)之間的隨機(jī)數(shù) */* 為學(xué)生顯示題目為學(xué)生顯示題目 */* 學(xué)生輸入答案學(xué)生輸入答案 */printf(%d + %d = ?,a,b);randomize( ) ; 26 小學(xué)生解小學(xué)生解100以?xún)?nèi)
26、減法問(wèn)題以?xún)?nèi)減法問(wèn)題#include main( ) int a,b,c,t; a=rand( )%100; b=rand( )%100; if(ab) t=a;a=b;b=t; printf(%d - %d = ?,a,b); scanf(%c,&c); if( c=a-b) printf(You are right!n); else printf(You are wrong!n); /* 產(chǎn)生一個(gè)產(chǎn)生一個(gè)099之間的隨機(jī)數(shù)之間的隨機(jī)數(shù) */* 再產(chǎn)生一個(gè)再產(chǎn)生一個(gè)099之間的隨機(jī)數(shù)之間的隨機(jī)數(shù) */* 為學(xué)生顯示題目為學(xué)生顯示題目 */* 考慮考慮a,b的大小關(guān)系的大小關(guān)系 */r
27、andomize( ) ; 27 例例4 將一個(gè)三位數(shù)進(jìn)行拆分將一個(gè)三位數(shù)進(jìn)行拆分1main( ) int m,a,b,c; printf(Please enter an integer (100): ); scanf(%d,&m); a=m%10; b=(m/10)%10; c=m/100; printf(%d %d %dn,c,b,a); /* 將個(gè)位數(shù)拆分出來(lái)將個(gè)位數(shù)拆分出來(lái) */* 將十位數(shù)拆分出來(lái)將十位數(shù)拆分出來(lái) */* 將百位數(shù)拆分出來(lái)將百位數(shù)拆分出來(lái) */ 28 將一個(gè)三位數(shù)進(jìn)行拆分將一個(gè)三位數(shù)進(jìn)行拆分1main( ) int m,a,b,c; printf(Please
28、 enter an integer (100): ); scanf(%d,&m); a=m%10; b=(m/10)%10; c=m/100; printf(%d %d %dn,c,b,a); /* 123%10 的結(jié)果是的結(jié)果是 3 */* ( 123/10)%10=12%10=2 */* 123/100 的結(jié)果是的結(jié)果是 1 */當(dāng)當(dāng)m=123時(shí),程序運(yùn)行的情況如下:時(shí),程序運(yùn)行的情況如下: 29 將一個(gè)三位數(shù)進(jìn)行拆分將一個(gè)三位數(shù)進(jìn)行拆分2main( ) int m,a,b,c; printf(Please enter an integer (1000): ); scanf(%d,
29、&m); c=m/100; b=(m-c*100)/10; a=m%100; printf(%d %d %dn,c,b,a); /* 將百位數(shù)拆分出來(lái)將百位數(shù)拆分出來(lái) */* 將十位數(shù)拆分出來(lái)將十位數(shù)拆分出來(lái) */* 將個(gè)位數(shù)拆分出來(lái)將個(gè)位數(shù)拆分出來(lái) */ 30 將一個(gè)三位數(shù)進(jìn)行拆分將一個(gè)三位數(shù)進(jìn)行拆分2main( ) int m,a,b,c; printf(Please enter an integer (1000): ); scanf(%d,&m); c=m/100; b=(m-c*100)/10; a=m%100; printf(%d %d %dn,c,b,a); /*1
30、23/100 的結(jié)果是的結(jié)果是1 */* (123-1*100)/10的結(jié)果是的結(jié)果是 2 */* 123%10的結(jié)果是的結(jié)果是 3 */當(dāng)當(dāng)m=123時(shí),程序運(yùn)行的情況如下:時(shí),程序運(yùn)行的情況如下: 31 將一個(gè)四位數(shù)進(jìn)行拆分將一個(gè)四位數(shù)進(jìn)行拆分main( ) int m,a,b,c,d; printf(Please enter an integer (bNYbcN輸出輸出acNYYa與與b交換交換a與與c交換交換b與與c交換交換 34 對(duì)三個(gè)數(shù)進(jìn)行升序排序?qū)θ齻€(gè)數(shù)進(jìn)行升序排序main( ) int a,b,c,t; scanf(%d,%d,%d,&a,&b,&c);
31、 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(%d,%d,%dn,a,b,c); 想一想,想一想,3個(gè)個(gè)if 語(yǔ)句是嵌套關(guān)系語(yǔ)句是嵌套關(guān)系呢還是呢還是3個(gè)獨(dú)立的單邊結(jié)構(gòu)?個(gè)獨(dú)立的單邊結(jié)構(gòu)?想一想,如果要對(duì)想一想,如果要對(duì)4 4個(gè)數(shù)進(jìn)行排序,需個(gè)數(shù)進(jìn)行排序,需要比較多少次?要比較多少次?5 5個(gè)數(shù)呢?個(gè)數(shù)呢? 35 例例6 從三個(gè)數(shù)中找出最大的數(shù)從三個(gè)數(shù)中找出最大的數(shù)l 在三個(gè)數(shù)在三個(gè)數(shù)a,b,ca,b,c中找出最大數(shù)的程序設(shè)計(jì)的思路為:中找出最大數(shù)的程序設(shè)計(jì)的思路為:l 先將先將a,ba,b進(jìn)行比較,將二
32、者之中的大數(shù)放入變量進(jìn)行比較,將二者之中的大數(shù)放入變量a a中,小數(shù)放入中,小數(shù)放入b b中,這樣中,這樣a a中就是中就是a,ba,b中的最大數(shù)。中的最大數(shù)。l 再將變量再將變量a a與變量與變量c c進(jìn)行比較,將進(jìn)行比較,將a a,c c中的大數(shù)放中的大數(shù)放到到a a中,小數(shù)放到中,小數(shù)放到c c中,這樣,變量中,這樣,變量a a中存放的就一中存放的就一定是三個(gè)數(shù)中的最大數(shù)。定是三個(gè)數(shù)中的最大數(shù)。 36 從三個(gè)數(shù)中找出最大數(shù)的程序從三個(gè)數(shù)中找出最大數(shù)的程序main( ) int a,b,c,t; scanf(%d,%d,%d,&a,&b,&c); printf(%d
33、,%d,%dn,a,b,c); if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; printf(%dn,a); 37 例例7 輸入一個(gè)份,打印出該月有幾天輸入一個(gè)份,打印出該月有幾天(switch)main( ) int month,day; scanf(%d,&month); switch(month) case 2: day=28;break; case 4: case 6: case 9: case 11: day=30; break; default : day=31; printf(month=%d,day=%dn,month,day); 38
34、輸入一個(gè)份,打印出該月有幾天(多層)輸入一個(gè)份,打印出該月有幾天(多層)main( ) int month,day; scanf(%d,&month); if (month=2) day=28; else if(month=5&month=20) c=15; else c=5; else if(n=20) c=30; else c=20; printf(month=%d,n=%d,c=%.2fn,month,n,c/100); 41 航空公司收費(fèi)優(yōu)惠率計(jì)算程序(航空公司收費(fèi)優(yōu)惠率計(jì)算程序(if)main( ) int month,n; float c; scanf(%d%d,&
35、amp;month,&n); if (month=7&month=20) c=15; else c=5; else if(n=20) c=30; else c=20; printf(month=%d,n=%d,c=%.2fn,month,n,c/100); 42 航空公司收費(fèi)優(yōu)惠率計(jì)算程序航空公司收費(fèi)優(yōu)惠率計(jì)算程序(switch)main( ) int month,n; float c; scanf(%d%d,&month,&n); switch(month) case 5: case 7: case 8: case 9: case 10: if(n=20) c
36、=15; else c=5; break; default : if(n=20) c=30; else c=20; printf(month=%d,n=%d,c=%.2fn,month,n,c/100); 43 航空公司收費(fèi)優(yōu)惠率計(jì)算程序航空公司收費(fèi)優(yōu)惠率計(jì)算程序(switch)main( ) int month,n; float c; scanf(%d%d,&month,&n); if(n=20) k=1; else k=0; switch(k) case 0: if(month=7&month=7&month=10|month=5) c=15; else c
37、=30; printf(month=%d,n=%d,c=%.2fn,month,n,c/100); 44 在屏幕上輸出大寫(xiě)字母在屏幕上輸出大寫(xiě)字母A,寫(xiě)出盡可能多的方法,寫(xiě)出盡可能多的方法printf(A);putchar(A);putchar(65);c=A; putchar (c);c=A; printf(%c,c);printf(%c,A);printf(%c,65); 45 例例9 計(jì)算分段函數(shù)的值計(jì)算分段函數(shù)的值 0 x=0 x 0 x20 20 x100 x2 其它其它y= 求分段函數(shù)的值:求分段函數(shù)的值:x 46 計(jì)算分段函數(shù)的程序計(jì)算分段函數(shù)的程序#include main()
38、 int x;float y; printf(Please enter x:); scanf(%d,&x); if(x=0) y=0; else if(x=0 & x=20&x100) y=sqrt(int)x); else y=x*x; printf(x=%d,y=%fn,x,y); 47 #include main( ) int x;float y; printf(Please enter x:); scanf(%d,&x); if(x=0) y=0; else if( x20) y=x; else if( x100) y=sqrt(int)x); else y=x*x; printf(x=%d,y=%fn,x,y); 計(jì)算分段函數(shù)的程序計(jì)算分段函數(shù)的程序 48 例例10 計(jì)算個(gè)人所得稅計(jì)算個(gè)人所得稅main( ) int x,t;float tax; printf(Please enter salary:); scanf(%d,&x); t=(x-1)/400; switch( t ) case 0: case 1: tax=0; case
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法學(xué)概論互動(dòng)學(xué)習(xí)的試題及答案經(jīng)驗(yàn)
- 數(shù)字營(yíng)銷(xiāo)與社交平臺(tái)技術(shù)試題及答案
- 代碼優(yōu)化與重構(gòu)考試試題及答案
- 廣東省廣州市名校2025屆七年級(jí)數(shù)學(xué)第二學(xué)期期末調(diào)研試題含解析
- 解鎖2025年軟件設(shè)計(jì)師試題及答案
- 2025年軟考軟件設(shè)計(jì)師備考秘籍試題及答案
- 上海市行業(yè)協(xié)會(huì)商會(huì)評(píng)估指標(biāo)(2025年版)
- 美術(shù)教學(xué)中的團(tuán)隊(duì)合作培養(yǎng)計(jì)劃
- 企業(yè)責(zé)任擔(dān)當(dāng)?shù)目偨Y(jié)與反思計(jì)劃
- 制定多元化業(yè)務(wù)拓展計(jì)劃降低風(fēng)險(xiǎn)
- 新版人教版七年級(jí)下冊(cè)地理課件 第九章 東半球其他的地區(qū)和國(guó)家 綜合復(fù)習(xí)
- 2025年泉州市公交集團(tuán)有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 2025年中考物理壓軸題專(zhuān)項(xiàng)練習(xí):創(chuàng)新性題型 (含解析)
- 手語(yǔ)日常會(huì)話(huà)課件
- 廣東省揭陽(yáng)市2025年中考語(yǔ)文模擬試卷五套【附參考答案】
- 《香格里拉松茸保護(hù)與利用白皮書(shū)》
- 2025屆上海市中考聯(lián)考生物試卷含解析
- 醫(yī)院意識(shí)形態(tài)培訓(xùn)課件
- 2025年武漢鐵路局招聘筆試參考題庫(kù)含答案解析
- 醫(yī)院危險(xiǎn)品安全管理培訓(xùn)
- 酒店行業(yè)安全事故舉報(bào)與獎(jiǎng)勵(lì)制度
評(píng)論
0/150
提交評(píng)論