【文章內(nèi)容簡(jiǎn)介】
utput 1 2 3HINT Append Code include void main(){int a,b,c,temp。scanf(”%d%d%d“,amp。a,amp。b,amp。c)。if(a{temp=a。a=b。b=temp。}if(a{temp=a。a=c。c=temp。}if(b{temp=b。b=c。c=temp。}printf(”%d %d %dn“,c,b,a)。} E: Description 判斷輸入整數(shù)的奇偶性。判斷奇偶數(shù) Input 輸入為一個(gè)整數(shù)。Output 輸出只有一行,代表判斷結(jié)果。如果輸入的整數(shù)n是一個(gè)偶數(shù),輸出: n is an even :n is an odd 。Sample Input 12Sample Output 12 is an even Append Code include int main(){int a。scanf(”%d“,amp。a)。if(a%2==0)printf(”%d is an even number.“,a)。elseprintf(”%d is an odd number.“,a)。} A: 判斷兩個(gè)整數(shù)的大小關(guān)系 Description 輸入2個(gè)整數(shù)a和b,如果ab,則輸出1,否則輸出0。Input 兩個(gè)整數(shù)a和b,均不超過(guò)int類(lèi)型的表示范圍。Output 表示ab的結(jié)果:如果ab,則輸出1,否則輸出0。Sample Input 3 4Sample Output 0HINTAppend Code include int main(){ int a,b。scanf(”%d %d“,amp。a,amp。b)。if(ab)printf(”1“)。elseprintf(”0“)。return 0。} D: 成績(jī)的等級(jí) Description 把百分制的考試成績(jī)轉(zhuǎn)換成五級(jí)制的成績(jī): 90~100:Excellent 80~89:Good 70~79:Average 60~69:Pass 0~59:Failing不在0~100之間的輸入是非法數(shù)據(jù),輸出“Error”。Input 輸入多行,每行一個(gè)整數(shù)。Output 輸入所對(duì)應(yīng)的成績(jī)等級(jí)。Sample Input1 81 92 35 68 72 100Sample Output Error Good Excellent Failing Pass Average Excellent HINT 用switch語(yǔ)句解決這個(gè)問(wèn)題比較方便。Append Code include int main(){int score。while(scanf(”%d“,amp。score)!=EOF){if(score100)printf(”Errorn“)。else{switch(score/10){case 0:case 1:case 2:case 3:case 4:case 5:printf(”Failingn“)。break。case 6:printf(”P(pán)assn“)。break。case 7:printf(”Averagen“)。break。case 8:printf(”Goodn“)。break。case 9:case 10:printf(”Excellentn“)。break。}}}return 0。} E: 輸出是m的倍數(shù)或n的倍數(shù)、但不是m和n的公倍數(shù)的數(shù) Description 輸出1~k之間是m的倍數(shù)或n的倍數(shù)、但不是m和n的公倍數(shù)的數(shù),其中1Input 輸入三個(gè)整數(shù),依次為k、m、n。Output 從小到大輸出符合題意的所有整數(shù),兩數(shù)之間用一個(gè)空格分開(kāi)。Sample Input 15 2 3Sample Output 2 3 4 8 9 10 14 15HINT 難點(diǎn)在于輸出格式的控制:空格在數(shù)的中間,學(xué)會(huì)用循環(huán)時(shí)邊界情況的特殊處理。Append Code include int main(){ int k,m,n,a,i=1。scanf(”%d %d %d“,amp。k,amp。m,amp。n)。if(ma=m。elsea=n。printf(”%d“,a)。for(i=a+1。i}if((i%m==0amp。amp。i%n!=0)||(i%n==0amp。amp。i%m!=0))printf(” %d“,i)。} return 0。 B: 兩整數(shù)相加減 Description 計(jì)算a+b和ab。Input 輸入為一對(duì)整數(shù)a和b。a,b用空格分開(kāi)。Output 輸出a+b和ab的計(jì)算結(jié)果,各占一行。Sample Input 1 2Sample Output 31HINT Append Code include int main(){ int a,b。scanf(”%d %d“,amp。a,amp。b)。printf(”%dn“,a+b)。printf(”%dn“,ab)。} 25 Problem C: 它滿(mǎn)足條件嗎? Description 需要判斷給定的一個(gè)整數(shù)是否同時(shí)滿(mǎn)足如下三個(gè)條件: 。注:若一個(gè)數(shù)能表示成某個(gè)自然數(shù)的平方的形式,則稱(chēng)這個(gè)數(shù)為完全平方數(shù)。例如:0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529 Input 一個(gè)int范圍內(nèi)的整數(shù)。Output 如果輸入的數(shù)字滿(mǎn)足條件,則輸出yes,否則輸出no。Sample Input 100Sample Output yesHINT 注意邏輯表達(dá)式判斷三個(gè)條件的順序。如果你不會(huì)使用分支語(yǔ)句,同樣可以使用條件運(yùn)算符實(shí)現(xiàn)該程序。庫(kù)函數(shù)sqrt()可以用于求一個(gè)數(shù)的平方根。Append Code include include int main(){ int a。scanf(”%d“,amp。a)。if(a==sqrt(a)*sqrt(a)amp。amp。a%2==0amp。amp。a0)printf(”yes“)。elseprintf(”no“)。} F: 多路分支 Description 編寫(xiě)一個(gè)完整的程序,運(yùn)行時(shí)向用戶(hù)提問(wèn)”你考試考了多少分?(0100)“接受輸入后判斷其等級(jí)并顯示出來(lái)等級(jí): 優(yōu):90Input 輸入任意一個(gè)整數(shù)分?jǐn)?shù)值,顯示等級(jí)。再輸入任意一個(gè)整數(shù)分?jǐn)?shù)值,顯示等級(jí)。....直到測(cè)試數(shù)據(jù)較充分,可輸入1止。Output 對(duì)任意輸入的分?jǐn)?shù)值,輸出對(duì)應(yīng)的等級(jí), Input 102 100 90 80 70 60 50 0801Sample Output grad must between 0 and 100 優(yōu)優(yōu)良中中差差grad must between 0 and 100 grad must between 0 and 100HINT Append Code include int main(){int x。while(scanf(”%d“,amp。x)!=EOF){if(x100)printf(”grad must between 0 and 100n“)。else if(x=90)printf(”優(yōu)n“)。else if(x=80)printf(”良n“)。else if(x=60)printf(”中n“)。else if(x=0)printf(”差n“)。}return 0。} Problem D: 有多少人? Description 學(xué)校舉行運(yùn)動(dòng)會(huì),如果全體學(xué)生按照3人一隊(duì)列隊(duì),則多了1個(gè)人;如果按照4人一隊(duì)列隊(duì),則多了2個(gè)人;如果按照5人一隊(duì)排隊(duì),則多了3個(gè)人。請(qǐng)問(wèn)這個(gè)學(xué)校有多少學(xué)生?Input 一個(gè)int類(lèi)型的正整數(shù)N,是學(xué)生人數(shù)的上界,即:該校學(xué)生數(shù)不超過(guò)N。Output 所有可能的學(xué)生數(shù),每個(gè)數(shù)占一行。Sample Input 200Sample Output 58 118 178HINT Append Code include include int main(){int n,i。scanf(”%d“,amp。n)。for(i==1。iprintf(”%dn“,i)。}return 0。} Problem C: 正負(fù)數(shù)各有幾個(gè)? Description 輸入若干個(gè)整數(shù),求其中正數(shù)、負(fù)數(shù)的個(gè)數(shù)。Input 輸入分為2行:第一行是一個(gè)數(shù)字N0,表示下面有N個(gè)整數(shù)。第2行是N個(gè)整數(shù),都是int類(lèi)型的。Output 輸出所輸入的N個(gè)整數(shù)的正數(shù)個(gè)數(shù)和負(fù)數(shù)個(gè)數(shù),并用空格分開(kāi)2個(gè)輸出。Sample Input 10 2 3 4 512345Sample Output 5 5HINT 貌似還有一種叫做0的數(shù)。Append Code include int main(){int n,a,i,num1=0,num2=0。scanf(”%d“,amp。n)。for(i=0。i{scanf(”%d“,amp。a)。if(a0)num1++。else if(anum2++。}printf(”%d %dn“,num1,num2)。return 0。} Problem A: A+B Problem(III): Input/OutputPractice Description 計(jì)算a+b,0Input 輸入有多對(duì)整數(shù)a和b組成,每對(duì)a和b占一行,a,b用空格分開(kāi)。當(dāng)測(cè)試樣為0 0時(shí)表示輸入結(jié)束,0 0不參與運(yùn)算。Output 每行輸出一個(gè)a+b的值,順序與輸入對(duì)應(yīng)。Sample Input 1 2 10 20 0 0Sample Output 3 30HINT 練習(xí)break的使用。Append Code include int main(){ int a,b。while(scanf(”%d %d“,amp。a,amp。b)!=EOF){if(a!=0||b!=0)}printf(”%dn“,a+b)。elsebreak。return 0。} 30 Problem B: A+B Problem(IV): Input/OutputPractice Description 計(jì)算a+b,0Input 輸入有多對(duì)整數(shù)a和b組成,每對(duì)a和b占一行,a,b用空格分開(kāi)。Output 每行輸出一個(gè)a+b的值,順序與輸入對(duì)應(yīng)。每個(gè)格式樣例之間用一個(gè)空行分隔開(kāi)。Sample Input 1 2 10 20 15 35Sample Output 3 30 50HINT 由于輸出的和比空行多一個(gè),所以全部計(jì)算放在一個(gè)循環(huán)里是不行的,必須要特殊處理開(kāi)頭或者結(jié)尾。Append Code include int main(){ int a,b,n=0。while(scanf(”%d %d“,amp。a,amp。b)!=EOF){n++。if(n==1)printf(”%dn“,a+b)。elseprintf(”n%dn“,a+b)。}return 0。}Problem C: n個(gè)數(shù)的最大值和最小值 Description 找出n個(gè)數(shù)中最大的數(shù)和最小的數(shù),并將它們的值輸出出來(lái)。Input 輸入為n+1個(gè)整數(shù),都在int類(lèi)型范圍內(nèi)。這些數(shù)可能用若干空格或者換行符分隔開(kāi)。輸入的第1個(gè)數(shù)為n,表示后續(xù)有n個(gè)數(shù)輸入。從輸入的第2個(gè)數(shù)開(kāi)始,求出直到第n+1個(gè)數(shù)中最大的數(shù)和最小的數(shù)。Output 輸出為兩行,格式見(jiàn)sample。Sample Input 3 0 11Sample Output The maximum number is minimum number 分隔符是空格還是回車(chē)都是空白符,對(duì)scanf(”%d“)來(lái)說(shuō)沒(méi)有區(qū)別;先讀入n,然后用for循環(huán)就很容易控制讀入n個(gè)數(shù)的過(guò)程。Append Code include int main(){int n,i,max,min。scanf(”%d“,amp。n)。int a[n]。for(i=0。iscanf(”%d“,amp。a[i])。max=a[0]。min=a[0]。for(i=0。i{if(maxmax=a[i]。if(mina[i])min=a[i]。}printf(”The maximum number is %“,max)。printf(”The minimum number is %d.“,min)。return 0。} D: 求100以?xún)?nèi)的素?cái)?shù) Description 素?cái)?shù)是只能被1和自身整除的正整數(shù),根據(jù)數(shù)學(xué)定義1不是素?cái)?shù)。素?cái)?shù)也叫質(zhì)數(shù)。Input 輸入為兩個(gè)整數(shù)m和n,滿(mǎn)足0Output 從大到小輸出m~n之間的所有素?cái)?shù),一個(gè)素?cái)?shù)一行。如果m~n之間沒(méi)有素?cái)?shù),則不輸出任何數(shù)。輸出的所有數(shù)在兩行“=====”之間。Sample Input 2 12Sample Output ===== 11 7 5 3 2 =====HINT 利用素?cái)?shù)的數(shù)學(xué)規(guī)律可以很容易的解出此題,題目給出的數(shù)據(jù)范圍是關(guān)鍵。Append Code include include int main(){ int m,n,i,j,k,t。scanf(”%d %d“,amp。m,amp。n)。printf(”=====n“)。for(i=n。i=m。i){t=0。for(j=2。jif(i%j==0)t=1。if(t==0amp。amp。i1