版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)知識(shí)目標(biāo)能正確使用關(guān)系運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符能熟練使用if、ifelse以及嵌套能熟練使用switch語句技能目標(biāo)能夠熟練地編寫分支程序項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第1頁!項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)
項(xiàng)目要求一個(gè)班進(jìn)行了一次考試,教師打的是百分制成績,現(xiàn)在學(xué)校要求打五級(jí)制,即90~100分的轉(zhuǎn)變?yōu)锳,80~89的轉(zhuǎn)變?yōu)锽,70~79的轉(zhuǎn)變?yōu)镃,60~69的轉(zhuǎn)變?yōu)镈,60以下的轉(zhuǎn)變?yōu)镋。項(xiàng)目分析要完成對成績的轉(zhuǎn)換輸出,步必須要對輸入的成績是否合法作一個(gè)判斷,因?yàn)槭前俜种?,所?-100分都是合法的,此范圍外輸入的成績是有問題的;第二步對輸入的合法成績轉(zhuǎn)換成相應(yīng)的等級(jí)。因此,將這個(gè)項(xiàng)目分解成二個(gè)任務(wù)來完成。任務(wù)一是輸入學(xué)生成績,判斷其合法性;任務(wù)二是輸入學(xué)生成績轉(zhuǎn)化為等級(jí)。項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第2頁!任務(wù)1輸入學(xué)生成績,判斷其合法性一、問題情景輸入一個(gè)學(xué)生的成績,判斷它是否合法(成績采用百分制)。分析:程序流程圖:方法一:首先判斷輸入的成績是否在1到100之間,是的話輸出提示信息“輸入成績合法”;再判斷輸入的成績是否在0到100以外,是的話輸出提示信息“輸入的成績不合法”。二、具體實(shí)現(xiàn)方法一:
參考程序:#include"stdio.h"main(){floatx;printf("請輸入一個(gè)學(xué)生成績");scanf("%f",&x);if(x>=0&&x<=100)printf("輸入成績合法\n");if(x<0||x>100)printf("輸入成績不合法\n");}二、具體實(shí)現(xiàn)方法二:參考程序:#include"stdio.h"main(){floatx;printf("請輸入一個(gè)學(xué)生成績");scanf("%f",&x);if(x>=0&&x<=100)printf("輸入成績合法");elseprintf("輸入成績不合法");}方法二:判斷輸入的成績是否在0到100之間,是的話輸出提示信息“輸入成績合法”;否則的話輸出提示信息“輸入的成績不合法”。程序流程圖本任務(wù)知識(shí)點(diǎn):1、關(guān)系運(yùn)算符與關(guān)系表達(dá)式2、邏輯運(yùn)算符與邏輯表達(dá)式3、if和ifelse語句項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第3頁!(二)邏輯運(yùn)算符與邏輯表達(dá)式1.邏輯運(yùn)算符及優(yōu)先級(jí)&&邏輯與優(yōu)先級(jí)低||邏輯或!邏輯非優(yōu)先級(jí)高優(yōu)先級(jí):“!”運(yùn)算符高于算術(shù)運(yùn)算符,關(guān)系運(yùn)算符高于邏輯運(yùn)算符ab!a!ba&&ba||b110011100101011001001100其中“&&”相當(dāng)于而且,要求有兩個(gè)運(yùn)算量?!皘|”相當(dāng)于或者,要求有兩個(gè)運(yùn)算量?!埃 毕喈?dāng)于否定。例如:10歲以下的小孩而且是女的例如:10歲以下的小孩或者是女的除了10歲以下的女小孩。邏輯運(yùn)算符的“真值表”項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第4頁!(三)條件語句1.單分支語句【語法】if(表達(dá)式)語句組/*表達(dá)式值為非0時(shí),執(zhí)行語句組,為0時(shí),不執(zhí)行語句組*/【流程圖】【例如】若a=3,b=4,c=5,1)則執(zhí)行語句if(a>b)c=a;后c的值為5,因?yàn)閍>b不成立,則表達(dá)式的值為0,不執(zhí)行后面的語句c=a,所以c的值不變,還是為5;2)執(zhí)行語句if(a<b)c=a;后c的值為3。3)執(zhí)行語句if(a>b){t=a;a=b;b=t;}后a的值為3,b的值為4;4)執(zhí)行語句if(a<b){t=a;a=b;b=t;}后a的值為4,b的值為3。其中的t=a;a=b;b=t;完成了變量a和b的值的交換,當(dāng)語句組的語句有1句以上時(shí),要用{}把語句組括起來,注意在{}外面不需要再加分號(hào)。因?yàn)閧}內(nèi)是一個(gè)完整的復(fù)合語句,不需要另附加分號(hào)。項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第5頁!【例2-1】輸入任意三個(gè)整數(shù)a、b、c,輸出其中最小的數(shù)。方法一:用一個(gè)變量min來暫時(shí)存放所有比較過數(shù)中的最小值。次將某個(gè)數(shù)賦給min,然后用min跟沒有比較過的數(shù)一一進(jìn)行比較,發(fā)現(xiàn)新的數(shù)比min的值還小的話,就修改min的值為新比較的數(shù),直到所有的數(shù)都比較過為止。參考程序:#include"stdio.h"main(){inta,b,c,min;printf("請輸入三個(gè)數(shù)");scanf("%d,%d,%d",&a,&b,&c);min=a;if(min>b)min=b;if(min>c)min=c;printf("%d,%d,%d中最小的數(shù)為%d\n",a,b,c,min);}項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第6頁!【例2-2】輸入一個(gè)年份,判斷它是否是閏年。某一年是閏年的條件是:能被4整除并且不能被100整除,或者能被400整除的年份是閏年。寫成表達(dá)式是year%4==0&&year%100!=0||year%400==0。方法一:先設(shè)一個(gè)變量t=0,然后判斷該年份是否滿足閏年的條件,滿足的話將t的值修改為1,然后我們可以根據(jù)t的值來判斷該年是否是閏年,t為0的話不是閏年,t為1的話是閏年。#include"stdio.h"main(){intyear,t=0;printf("請輸入年份");scanf("%d",&year);if(year%4==0&&year%100!=0||year%400==0)t=1;if(t==0)printf("%d年不是閏年\n",year);if(t==1)printf("%d年是閏年\n",year);}方法二:判斷該年份是否滿足閏年的條件,滿足的話輸出是閏年的提示信息,否則輸出不是閏年的提示信息。#include"stdio.h"main(){intyear,t;printf("請輸入年份");scanf("%d",&year);if(year%4==0&&year%100!=0||year%400==0)printf("%d年是閏年\n",year);elseprintf("%d年不是閏年\n",year);}項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第7頁!任務(wù)2輸入學(xué)生成績轉(zhuǎn)化為等級(jí)一、問題情景輸入一個(gè)學(xué)生的成績,若是合法成績,則輸出相應(yīng)的等級(jí),否則輸出不合法的提示信息。方法一:首先判斷輸入的成績是否合法,不合法的話,輸出“輸入的成績不合法”的提示信息;合法的話再判斷成績是否在90分到100分之間,是的話,將變量y賦好相應(yīng)的值;同樣再判斷成績是否在80分到90分之間,是的話,將變量y賦好相應(yīng)的值等等。參考程序:#include"stdio.h"main(){floatx;chary;printf("請輸入0-100內(nèi)的一個(gè)成績");scanf("%f",&x);if(x>=0&&x<=100){if(x>=90&&x<=100)y='A';if(x>=80&&x<90)y='B';if(x>=70&&x<80)y='C';if(x>=60&&x<70)y='D';if(x>=0&&x<60)y='E';printf("該學(xué)生的等級(jí)為%c\n",y);}elseprintf("輸入的學(xué)生成績不合法\n");}項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第8頁!方法三:另外我們還可以用switch語句來實(shí)現(xiàn)。#include"stdio.h"main(){intx,t;chary;printf("請輸入1-100內(nèi)的一個(gè)成績");scanf("%d",&x);t=x/10;switch(t){case10:case9:printf("該學(xué)生的等級(jí)為A");break;case8:printf("該學(xué)生的等級(jí)為B");break;case7:printf("該學(xué)生的等級(jí)為C");break;case6:printf("該學(xué)生的等級(jí)為D");break;
case5:case4:case3:case2:case1:case0:printf("該學(xué)生的等級(jí)為E");break;default:printf("輸入的學(xué)生成績有誤");}}本任務(wù)中要掌握的是:1、if語句的嵌套用法。2、switch語句的用法。項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第9頁!【例2-3】輸入一個(gè)字符,判斷它是小寫、大寫、數(shù)字還是其它字符。分析:輸入一個(gè)字符,判斷它是否小寫,是的話輸出相應(yīng)的提示信息;否則再判斷它是否是大寫,同樣是的話輸出相應(yīng)的提示信息;等等。參考程序:#include“stdio.h”main(){chara;printf(“請輸入一個(gè)字符\n”);scanf(“%c”,&a);if(a>=‘a(chǎn)’&&a<=‘z’)printf(“輸入的字符是小寫”);elseif(a>=‘A’&&a<=‘Z’)printf(“輸入的字符是大寫”);elseif(a>=‘0’&&a<=‘9’)printf(“輸入的字符是數(shù)字”);elseprintf(“輸入的字符是其它字符”);}分析下面程序錯(cuò)誤的原因:#include“stdio.h”main(){chara;printf(“請輸入一個(gè)字符\n”);scanf(“%c”,&a);if(a>=‘a(chǎn)’&&a<=‘z’)printf(“輸入的字符是小寫”);if(a>=‘A’&&a<=‘Z’)printf(“輸入的字符是大寫”);if(a>=‘0’&&a<=‘9’)printf(“輸入的字符是數(shù)字”);elseprintf(“輸入的字符是其它字符”);}項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第10頁!【例2-4】運(yùn)輸公司對用戶計(jì)算運(yùn)費(fèi)。路程(s)越遠(yuǎn),每公里運(yùn)費(fèi)越低。
s<250沒有折扣250<=s<5002%折扣500<=s<10005%折扣1000<=s<20008%折扣2000<=s<300010%折扣s>=300015%折扣設(shè)每公里每噸貨物的基本運(yùn)費(fèi)為p,貨物重為w,距離為s,折扣為d,則總運(yùn)費(fèi)的計(jì)算公式為f=p*w*s*(1-d)分析:公司對不同的路程采用了5種折扣,但實(shí)際上路程值有無數(shù)種,我們要把這無數(shù)種路程變?yōu)槿舾蓚€(gè)值。通過觀察我們可以把250公里作為一個(gè)單元,這樣就把所有路程變成了13種情況,分別是0、1、……12。而其中0享受的是沒有折扣;1享受的是2%折扣;2、3享受的是5%折扣;4、5、6、7享受的是8%折扣;8、9、10、11享受的是10%折扣;12享受的是15%折扣。參考程序:#include“stdio.h”voidmain(){intc,s;floatp,w,d,f;printf(“請輸入基本運(yùn)費(fèi),貨物重量,距離”);scanf("%f,%f,%d",&p,&w,&s);if(s>=3000)c=12;elsec=s/250;switch(c){case0:d=0;break;case1:d=2;break;case2:case3:d=5;break;case4:case5:case6:case7:d=8;break;case8:case9:case10:case11:d=10;break;case12:d=15;break;}f=p*w*s*(1-d/100.0);printf("總運(yùn)費(fèi)=%15.4f\n",f);}用switch語句解題的關(guān)鍵是要把多種情況分成若干個(gè)有限的值。項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第11頁!【例2-6】輸入一個(gè)數(shù),如果是7的倍數(shù),則輸出這個(gè)數(shù)的立方,否則輸出這個(gè)數(shù)的平方。分析:判斷是否是7的倍數(shù),就只要看能否被7整除就可以了;a的立方不能寫成a3,可以簡單地用a*a*a來表示,也可以調(diào)用C語言中提供的庫函數(shù)pow(a,3)來表示,此時(shí)要用#include“math.h”語句把包含pow函數(shù)的庫文件math.h包含進(jìn)來。#include"stdio.h"main(){inta,t;printf("請輸入一個(gè)整數(shù)");scanf("%d",&a);if(a%7==0)t=a*a*a;elset=a*a;printf("%d",t);}#include"stdio.h“#include“math.h”main(){inta,t;printf("請輸入一個(gè)整數(shù)");scanf("%d",&a);if(a%7==0)t=pow(a,3);elset=a*a;printf("%d",t);}項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第12頁!【例2-8】輸入方程ax2+bx+c=0的系數(shù)值(設(shè)a≠0),輸出方程的實(shí)根或輸出沒有實(shí)根的提示信息。分析:輸入方程的系數(shù)a、b、c后,首先要判斷b2-4ac是否大于零,有實(shí)根則求出方程的實(shí)根,沒有實(shí)根則輸出沒有實(shí)根的提示信息。參考程序:#include"stdio.h"#include"math.h"main(){floata,b,c,d,p,q,x1,x2;printf("輸入一元二次方程的系數(shù)a,b,c");scanf("%f,%f,%f",&a,&b,&c);d=b*b-4*a*c;if(d<0)printf("方程沒有實(shí)根");else{x1=(-b+sqrt(d))/(2*a);/*求兩個(gè)實(shí)根*/x2=(-b-sqrt(d))/(2*a);printf("方程的兩個(gè)實(shí)根分別為:x1=%f\nx2=%f\n",x1,x2);}}項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第13頁!三、相關(guān)知識(shí)(一)
關(guān)系運(yùn)算符與關(guān)系表達(dá)式1.關(guān)系運(yùn)算符及優(yōu)先級(jí)<(小于)>(大于)<=(小于或等于)>=(大于或等于)==(等于)!=(不等于)優(yōu)先級(jí)相同(高)優(yōu)先級(jí)相同(低)1)前4種運(yùn)算符(<,<=,>,>=)優(yōu)先級(jí)相同,后兩種也相同。前4種高于后2種。(2)關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符。(3)關(guān)系運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符。2.關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來的式子,稱為關(guān)系表達(dá)式。例如:a>b,a!=b,a+b>a+c,’a’>’b’關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”,在C語言中用1代表“真”,以0代表“假”。【例如】若a=1,b=4,則:(1)a>b的值為0。因?yàn)閍=1,b=4,所以a>b的值為假,即表達(dá)式a>b的值為0。(2)a!=b的值為1。(3)a==b>=0的值為1。因?yàn)椤?gt;=”優(yōu)先級(jí)比“==”的優(yōu)先級(jí)要高,所以b>=0先做,結(jié)果為1;再做==運(yùn)算符,a==1成立,所以整個(gè)表達(dá)式的值為1。(4)b>=0==a的值為1。項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第14頁!2.邏輯表達(dá)式邏輯表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”,C語言編譯系統(tǒng)在給出運(yùn)算結(jié)果中,以數(shù)值1代表“真”,以0代表“假”,但在判斷一個(gè)量是否為“真”時(shí),以0代表“假”,以非0代表“真”。在C語言中一共只有4個(gè)0,分別是:0(整數(shù)0)、0.0(實(shí)數(shù)0)、‘\0’(字符0)和NULL(符號(hào)常量0)?!纠纭咳鬭=2,b=4,則a&&b的值為1。因?yàn)閍,b的值均為非0,被認(rèn)為是“真”,因此a&&b的值為“真”,表達(dá)式a&&b的值為1。若x=5,則x>=0&&x<10的值為1。因?yàn)椤?gt;=”和“<”的優(yōu)先級(jí)比“&&”的優(yōu)先級(jí)高,先算x>=0和x<10表達(dá)式,結(jié)果都為1,而1&&1的結(jié)果為1,因此x>=0&&x<10的值為1。若x=5,則x>=0&&x<3的值為0,表達(dá)式x>=0的結(jié)果為1,表達(dá)式x<3的結(jié)果為0,1&&0的結(jié)果為0。若x=5,則x>=0||x<3的值為1,因?yàn)?||0的結(jié)果為1。若x=5,則!(x>=0||x<3)的值為0。項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第15頁!2.雙分支語句【語法】if(表達(dá)式)語句組1else語句組2/*表達(dá)式值為非0時(shí),執(zhí)行語句組1,為0時(shí),執(zhí)行語句組2*/【流程圖】【例如】若a=3,b=4,c=5,則執(zhí)行語句if(a>b)c=a;elsec=b;后c的值為4。執(zhí)行語句if(a<b)c=a;elsec=b;后c的值為3。同樣地,語句組1和語句組2的語句不止一句時(shí),要用{}將語句組括起來,作為一個(gè)復(fù)合語句。【例如】若a=3,b=4,c=5,執(zhí)行語句if(a<b){t=a;a=b;b=t;}else{t=a;a=c;c=t;}后a、b、c的值分別為4,3,5。項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第16頁!【例2-1】輸入任意三個(gè)整數(shù)a、b、c,輸出其中最小的數(shù)。方法二:分析:我們首先將a、b兩個(gè)數(shù)進(jìn)行比較,把兩者中最小的數(shù)放到a中,然后用兩者中最小的數(shù)a跟c進(jìn)行比較,同樣的把兩者中最小的數(shù)放到a中,最后a中的值就是三者中最小的值。參考程序:#include"stdio.h"main(){inta,b,c,t;printf("請輸入三個(gè)數(shù)");scanf("%d,%d,%d",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}printf("%d,%d,%d中最小的數(shù)為%d",a,b,c,a);}項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第17頁!四、知識(shí)擴(kuò)展條件運(yùn)算符與條件表達(dá)式條件運(yùn)算符為?:條件表達(dá)式為表達(dá)式1?表達(dá)式2:表達(dá)式3。當(dāng)表達(dá)式1值為真時(shí),整個(gè)表達(dá)式的值為表達(dá)式2的值,當(dāng)表達(dá)式1值為假時(shí),整個(gè)表達(dá)式的值為表達(dá)式3的值。例如:若a=3,b=4,則表達(dá)式a>b?a:b的值為4。因?yàn)楸磉_(dá)式a>b的值為0,整個(gè)表達(dá)式a>b?a:b應(yīng)該是表達(dá)式3的值,即b的值。表達(dá)式a>b?a:b的值實(shí)際上是取a、b兩者中最大值。若a=3,b=4,c=5,則表達(dá)式c>(a>b?a:b)?c:(a>b?a:b)的值為5。這里表達(dá)式1是c>(a>b?a:b),表達(dá)式2是c,表達(dá)式3是(a>b?a:b)。表達(dá)式c>(a>b?a:b)?c:(a>b?a:b)的值實(shí)際上是取a、b、c三者中最大值。項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第18頁!方法二:方法二:首先判斷輸入的成績是否合法,不合法的話,輸出“輸入的成績不合法”的提示信息;合法的話再判斷成績是否大于等于90分,若是的話,將變量y賦好相應(yīng)的值;否則再判斷成績是否大于等于80分,是的話,將變量y賦好相應(yīng)的值;否則再判斷成績是否大于等于70分,是的話,將變量y賦好相應(yīng)的值等等。#include"stdio.h"main(){floatx;chary;printf("請輸入1-100內(nèi)的一個(gè)成績");scanf("%f",&x);if(x<=100&&x>=0){if(x>=90)y='A';elseif(x>=80)y='B';elseif(x>=70)y='C';elseif(x>=60)y='D';elsey='E';printf("該學(xué)生的等級(jí)為%c\n",y);}elseprintf("輸入的學(xué)生成績不合法\n");}項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第19頁!三、相關(guān)知識(shí)1.if語句的嵌套【語法】if(表達(dá)式1)語句組1elseif(表達(dá)式2)語句組2elseif(表達(dá)式3)語句組3.…else語句組n【例如】if(x>=90&&x<=100)y=’A’;elseif(x>=80)y=’B’;elseif(x>=70)y=’C’;elseif(x>=60)y=’D’;elsey=’E’;這里實(shí)際上只有一個(gè)ifelse語句,只不過else后面跟的不是一般的語句,而又是一個(gè)ifelse語句而已。if和else后面可以跟語句組,這個(gè)語句組里當(dāng)然也可以是ifelse語句,這種情況稱為if語句的嵌套。if語句的嵌套時(shí),else語句與if的匹配原則是:與在它上面的、距離它最近的、在同一層括號(hào)內(nèi)的、且尚未匹配的if配對。項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第20頁!2.switch語句一般形式為:switch(表達(dá)式){case常量表達(dá)式1:語句組1;break;case常量表達(dá)式2:語句組2;break;……case常量表達(dá)式n:語句組n;break;default:語句組n+1;}
說明:switch后面的表達(dá)式可以是intchar和枚舉型中的一種。case每個(gè)后面的表達(dá)式必須互不相同,否則會(huì)出現(xiàn)矛盾的現(xiàn)象。case后面的常量表達(dá)式僅起語句標(biāo)號(hào)的作用,并不進(jìn)行條件判斷。系統(tǒng)一旦找到入口標(biāo)號(hào),就從此標(biāo)號(hào)開始執(zhí)行,不再進(jìn)行標(biāo)號(hào)判斷,所以要加上break語句,以便結(jié)束switch語句?!纠纭縮witch(t){case10:case9:y=’A’;printf(“%c\n”,y);case8:y=’B’;printf(“%c\n”,y);case7:y=’C’;printf(“%c\n”,y);case6:y=’D’;printf(“%c\n”,y);
default:y=’E’;printf(“%c\n”,y);}若t=9,則連續(xù)輸出ABCDE若t=7,則連續(xù)輸出CDE若修改成下面的程序:switch(t){case10:case9:y=’A’;printf(“%c\n”,y);break;case8:y=’B’;printf(“%c\n”,y);break;case7:y=’C’;printf(“%c\n”,y);break;case6:y=’D’;printf(“%c\n”,y);break;
dfault:y=’E’;printf(“%c\n”,y);}若t=9,則輸出A若t=7,則輸出C項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第21頁!任務(wù)3舉一反三【例2-5】輸入4個(gè)學(xué)生的成績,按從高到低的次序輸出。分析:前面我們已經(jīng)求過3個(gè)數(shù)中的最大值,求4個(gè)數(shù)的最大值就只要把前面三個(gè)數(shù)的最大值與第四個(gè)數(shù)進(jìn)行比較就可以了;求好四個(gè)數(shù)的最大值后,接下來就是求剩下的三個(gè)數(shù)的最大值;最后再求最后剩下的兩個(gè)數(shù)的最大值即可。參考程序:#include"stdio.h"main(){floata,b,c,d,t;printf("請輸入4個(gè)學(xué)生的成績,用逗號(hào)分隔");scanf("%f,%f,%f,%f",&a,&b,&c,&d);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}/*求出了a、b、c三個(gè)數(shù)的最大值在a中,其它兩個(gè)數(shù)分別在b、c中*/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;}/*此時(shí)求好了兩個(gè)最大的數(shù)a和b,其余的數(shù)在c、d中*/if(c>d){t=c;c=d;d=t;}printf("4個(gè)學(xué)生成績從高到低的次序?yàn)椋?.1f,%.1f,%.1f,%.1f\n",d,c,b,a);}項(xiàng)目二輸入學(xué)生成績轉(zhuǎn)化為等級(jí)共24頁,您現(xiàn)在瀏覽的是第22頁!【例2-7】輸入一個(gè)數(shù),判斷它是否是水仙花數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游線路推廣方案與市場分析
- 安全員A證考試考前沖刺訓(xùn)練試卷附完整答案詳解(名校卷)
- 銷售人員業(yè)績提升培訓(xùn)方案
- 押題寶典安全員A證考試??寄M試題及參考答案詳解【b卷】
- 2025年注冊測繪師資格考試歷年真題押題模擬試卷及答案解析
- 安全員A證考試綜合提升試卷【培優(yōu)】附答案詳解
- 《動(dòng)物解剖與組織胚胎學(xué)》期終考試試卷(A卷)及答案
- 揚(yáng)州職業(yè)大學(xué)單招試題及答案解析(2025版)
- 建筑工程臨時(shí)設(shè)施安全管理方案
- 安全員A證考試通關(guān)模擬卷及參考答案詳解(培優(yōu)a卷)
- 函數(shù)圖象問題解題技巧(奇偶性+特值法+極限法)原卷版
- 屋頂綠化改造施工方案
- 中國健美協(xié)會(huì)cbba(高級(jí))健身教練證考試復(fù)習(xí)題庫(含答案)
- 湖南省益陽市2024-2025學(xué)年高一(上)期末考試物理試卷(含答案)
- 自愿退出豁免協(xié)議書范文范本
- 重慶市配套安裝工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)
- 機(jī)器人實(shí)訓(xùn)室規(guī)劃建設(shè)方案
- 綜合布線辦公樓布線方案
- 鞍鋼檢驗(yàn)報(bào)告
- 河南省信陽市2023-2024學(xué)年高二上學(xué)期期末教學(xué)質(zhì)量檢測數(shù)學(xué)試題(含答案解析)
- 北師大版七年級(jí)上冊數(shù)學(xué) 期末復(fù)習(xí)講義
評論
0/150
提交評論