久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

C語言小游戲程序設(shè)計

時間:2019-05-13 09:03:02下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C語言小游戲程序設(shè)計》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《C語言小游戲程序設(shè)計》。

第一篇:C語言小游戲程序設(shè)計

程序設(shè)計實驗

大作業(yè)

成績:

學院:班級:學號:指導老師:姓名:實驗項目名稱:猜數(shù)字游戲

一、實驗要求

根據(jù)所學知識編寫一個小游戲--猜數(shù)字游戲

二、實驗目的為了加深對編程課程的基本知識的理解和掌握,并且掌握編程和程序調(diào)試的技巧通過程序的設(shè)計訓練和提高學生的基本技能,掌握字符串的表示方法和字符串函數(shù)的功能、編程軟件操作的基本知識、鍵盤上特殊鍵的獲取以及圖形方式下光標的顯示,提高編程興趣與編程水平,學會如何正確的書寫程序設(shè)計說明文檔,提高解決實際問題的能力,鞏固語法規(guī)則的理解和掌握,學會通過源程序?qū)懗隽鞒虉D,提高自學以及查閱資料的能力。

三、功能模塊分析

1.系統(tǒng)能夠隨機產(chǎn)生一個1到1000的數(shù)字

2.比較輸入數(shù)字與隨機產(chǎn)生數(shù)字的大小

3.選擇是否繼續(xù)游戲

四、修改處

1.將輸出內(nèi)容由英文變?yōu)闈h字

2.改變背景及輸出字體的顏色將隨機產(chǎn)生的數(shù)值范圍由1-100變?yōu)?-1000

四、設(shè)計思路

# include

# include

# include

main()

{void textbackground(int color);

system(“color fc”);

int a,b;

char c;

srand(time(NULL));

a=1+(rand()%1000);

printf(“這有一個數(shù)字從1到1000.n你能猜出它嗎?n輸入你猜的數(shù)字.n”);scanf(“%d”,&b);

while(b!=-1)

{

if(b==a)

{

printf(“恭喜你猜對了!n你喜歡再玩一遍嗎?(y or n)?”);

scanf(“%c”,&c);

scanf(“%c”,&c);

switch(c){

case 'y':

printf(“這有一個數(shù)字.n你能猜出它嗎?n輸入你猜的數(shù)字.n”);scanf(“%d”,&b);

break;

case 'n':

break;

}

}

while(b

{

printf(“低了,再試一次.”);

scanf(“%d”,&b);

}

while(b>a)

{

printf(“高了,再試一次.”);

scanf(“%d”,&b);

}

}

}

未修改前截圖

更改后截圖

四、體會心得

通過本次試驗我見識到了C語言的重要性和我在程序設(shè)計方面的不足,讓我了解到要把書本知識轉(zhuǎn)換為可以實際操作的東西是需要扎實的理論基礎(chǔ)和嚴謹?shù)倪壿嬎季S的,同時我也發(fā)現(xiàn)了平時很多沒有注意到的問題,彌補了我C語言方面的不足,在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過實踐的學習,我認識到學好計算機要重視實踐操作

第二篇:C程序設(shè)計 24點小游戲

1設(shè)計內(nèi)容

有2、3、4、5、6、7、8、9、10、J、Q、K、A共13張牌,編一程序,判斷對任意給定的4張牌,能否在進行加、減、乘、除運算后,其運算結(jié)果等于24。其中J按11計算,Q按12計算,K按13計算,A按1計算。如果能得到結(jié)果24,則輸出可得到該結(jié)果的計算表達式。

若輸入數(shù)據(jù)符合要求,且經(jīng)過加、減、乘、除運算后,運行結(jié)果能得到24,如輸入5,5,5,1,則顯示可得到該結(jié)果的計算表達式,如5*(5-(1/5))。

若輸入數(shù)據(jù)小于1或者大于13或者不是整數(shù)時,提示輸入錯誤。若輸入不能運算出24的數(shù)據(jù),如1,1,1,1,則顯示經(jīng)過加、減、乘、除運算后,運行結(jié)果不能得到24。

2程序設(shè)計

2.1存儲結(jié)構(gòu)設(shè)計

由于要儲存的數(shù)據(jù)不多,主要是儲存所輸入的4個整數(shù),所以采用一維數(shù)組(a[4])儲存。而計算過程會出現(xiàn)小數(shù),所以數(shù)據(jù)類型采用浮點型(float)。

2.2主要程序設(shè)計

程序采用窮舉法,對輸入的4個數(shù)進行排列,有 4!=24種。用for來循環(huán),if來判斷,算法如下。for(i=0;i<4;i++)for(j=0;j<4;j++)if(j!=i)for(k=0;k<4;k++)if(k!=j && k!=i)for(l=0;l<4;l++)if(l!=i && l!=j && l!=k){ calculate(a[i],a[j],a[k],a[l]);}

用if來判斷括號的類型,然后作出不同順序的運算。括號有兩對,主要有兩種類型:一種是()()型,如(a+b)*(c+d);另一種是(())型,繼續(xù)細分又有

種類型,如下a*(b*(c+d)),(a*(b+c))*d,a*((b+c)*d),((a+b)*c)*d。算法如下 if((!(i==3 && b==0))&&(!(j==3 && c==0))&&(!(k==3 && d==0))){ sum1=arithmetic(i,a,b);sum2=arithmetic(j,sum1,c);sum3=arithmetic(k,sum2,d);} if(k==2){ sum1=arithmetic(i,a,b);sum2=arithmetic(j,c,d);sum3=sum1*sum2;} if(k==3){ sum1=arithmetic(i,a,b);sum2=arithmetic(j,c,d);if(sum2!=0){ sum3=sum1/sum2;} } 在輸入方面,按要求,數(shù)據(jù)類型是 1 至13 的整數(shù),符合則進行運算,不符合則重新輸入。用if語句來實現(xiàn),如下 if(a[i]<1 || a[i]>13 || a[i]!=int(a[i]))

在輸出方面,運算結(jié)果等于 24就輸出,利用調(diào)用的參數(shù)判斷輸出形式,有5種:(a+b)*(c+d),a*(b*(c+d)),(a*(b+c))*d,a*((b+c)*d),((a+b)*c)*d。算法如下:

void show(int type,int i,int j,int k,float a,float b,float c,float d){ if(type==1){

if(j==4 || j==5){

if(k==4 || k==5)

cout<

else

cout<<“(”<

else if(k==4 || k==5)

cout<

}

else

cout<<“((”<

} if(type==2 || type==3){ cout<<“(”<

程序流程框圖如圖2-3所示:

圖2-3 3程序調(diào)試

3.1測試用例

開始運行時的頁面如圖4-1所示:

圖4-1 首先,測試程序能不能運算出正確的結(jié)果,輸入數(shù)據(jù)6,6,6,6,出現(xiàn)了44組符合要求的解,如圖4-2所示。

接著輸入數(shù)據(jù)2,9,7,14,提示輸入錯誤,重新輸入2,7,5,13,能得到正確運行結(jié)果,如圖4-2所示。

輸入4,9,11,13,不能運算得到24,顯示“你所輸入的數(shù),經(jīng)過四則運算后,不等于24點”,如圖4-3所示。

輸入5,5,5,1,這組數(shù)據(jù)要運算得到24,一定會出現(xiàn)小數(shù),因為只有一種運算,即5*(5* /“ 4個運算符號選3個,有4*4*4=64種

for(j=0;j<6;j++)

// 3種運算符排列

有 3!=6 種

for(k=0;k<6;k++)

{

if((!(i==3 && b==0))&&(!(j==3 && c==0))&&(!(k==3 && d==0)))// 括號的類型為(()){ // 3為做除法運算的標志,除數(shù)為 0 時,跳過

= =

sum1=arithmetic(i,a,b);

//a,b做 以 i 為標志的運算,然后把值賦給sum1

sum2=arithmetic(j,sum1,c);//sum1,c做 以 j 為標志的運算,然后把值賦 給sum2

sum3=arithmetic(k,sum2,d);//sum2,d做 以 k 為標志的運算,然后把值賦給sum3

if(fabs(sum3-24)<0.001)//判斷能否運算出24,出現(xiàn)小數(shù)時,能夠包含在內(nèi)

{

check++;

//標志能運算出24

show(1,i,j,k,a,b,c,d);// 輸出運算出 24 的表達式

}

}

if(k==2)//()*()

{

sum1=arithmetic(i,a,b);//a,b做 以 i 為標志的運算,然后把值賦給sum1

sum2=arithmetic(j,c,d);//sum1,c做 以 j 為標志的運算,然后把值賦給sum2

sum3=sum1*sum2;

if(fabs(sum3-24)<0.001)//出現(xiàn)小數(shù)時,能夠包含在內(nèi)

{

check++;

//標志能運算出24

show(2,i,j,k,a,b,c,d);// 輸出運算出 24 的表達式

}

}

if(k==3)// 括號的類型為()()

{

sum1=arithmetic(i,a,b);//sum1,c做 以 j 為標志的運算,然后把值賦給sum2

sum2=arithmetic(j,c,d);//sum1,c做 以 j 為標志的運算,然后把值賦給sum2

if(sum2!=0)

{

sum3=sum1/sum2;

if(fabs(sum3-24)<0.001)//出現(xiàn)小數(shù)時,能夠包含在內(nèi)

{

check++;

//標志能運算出24

show(3,i,j,k,a,b,c,d);

// 輸出運算出 24 的表達式

}

}

}

} }

void main(){ int i,j,k,l,m=0;

float a[4];

//儲存所輸入的 4個 整數(shù)

while(m==0){ m=1;

cout<< ”請輸入4 個 1--13 的整數(shù):“<

for(i=0;i<4;i++){

cin>>a[i];

if(a[i]<1 || a[i]>13 || a[i]!=int(a[i]))//判斷是否為符合要求的整數(shù)

{ if(m!=0){

}

cout<<”輸入錯誤,請重新輸入!“<

m=0;} } for(i=0;i<4;i++)

//4的排列 4!=24,每中情況調(diào)用calculate

for(j=0;j<4;j++)

if(j!=i)

//第2數(shù)和第1個數(shù)不能重復

for(k=0;k<4;k++)

if(k!=j && k!=i)//第3數(shù)和第1,2個數(shù)不能重復

for(l=0;l<4;l++)

if(l!=i && l!=j && l!=k)//第4數(shù)和第1,2,3個數(shù)不能重復

{ calculate(a[i],a[j],a[k],a[l]);//調(diào)用calculate函數(shù),進行進行加、減、乘、除運算

}

} if(check==0)//不能運算出24 { cout<<”你所輸入的數(shù),經(jīng)過四則運算后,不等于24點"<

第三篇:Java猜拳小游戲程序設(shè)計實驗報告

Java程序設(shè)計實驗報告

班級:

學號:

姓名:

實驗題目:猜拳小游戲

實驗要求:

用java編寫一個人機對戰(zhàn)的猜拳小游戲。人選擇性出拳,電腦隨機出拳,判斷輸贏,記錄輸贏情況。有簡單的操作界面。

實驗內(nèi)容:

1、問題分析過程:

(1)首先分析猜拳游戲本身的玩法:

人選擇性出拳,電腦隨機出拳,判斷輸贏,記錄輸贏情況。(2)用面向?qū)ο蟮乃枷雭矸治觯?/p>

在游戲過程中有幾個對象組成人

電腦

游戲規(guī)則

抽象出3個類:Person、Computer、Game Person類有哪些屬性和行為呢?

屬性:名字name,輸贏次數(shù)(比分)score 行為:出拳ShowFirst()

選擇性

Computer類有哪些屬性和行為呢?

屬性:名字name,輸贏次數(shù)(比分)score 行為:出拳showFist()

隨機

Game類有哪些屬性和行為呢?

屬性:游戲的雙方(person、computer)、對戰(zhàn)局數(shù)count 行為:產(chǎn)生角色initial()、游戲規(guī)則startGame()、顯示比賽結(jié)果showResult()、統(tǒng)計

比賽結(jié)果calcResul()

2、主要實現(xiàn)代碼:

import java.util.*;public class StartGame { public static void main(String[]args){

Game start = new Game();//實例化游戲類

start.initial();//調(diào)用初始化方法

start.startGame();//調(diào)用游戲開始方法

start.showResult();//調(diào)用游戲結(jié)果顯示方法

} } import java.util.*;public class Person { String name;//名字屬性

int score;//積分屬性

//出拳方法

public int showFist(){

System.out.print(“n請出拳:1.剪刀2.石頭3.布(輸入相應數(shù)字):”);

Scanner input = new Scanner(System.in);

int num = input.nextInt();

String fist = “";//保存出拳

switch(num){ case 1:

fist = ”剪刀“;

break;

case 2:

fist = ”石頭“;

break;

case 3:

fist = ”布“;

break;

}

System.out.println(name + ”出拳:“ + fist);

return num;} } import java.util.*;public class Game { //Person person;

//甲方

//Computer computer;//乙方

int count;

//對戰(zhàn)次數(shù)

Person person = new Person();//實例化用戶類

Computer computer = new Computer();//實例化計算機類

//初始化方法

public int initial(){

count = 0;

return count;} //游戲開始方法

public void startGame(){

//顯示游戲開始界面

System.out.println(”---------------歡

System.out.println(“tt******************************”);

System.out.println(“tt**

^_^ 猜拳,Start ^_^

**”);

System.out.println(“tt*****************************”);

界--------------n“);

System.out.println(”nn出拳規(guī)則:1.剪刀 2.石頭 3.布“);//選擇計算機角色

System.out.print(”請選擇對方角色:1.劉備 2.孫權(quán) 3.曹操:“);Scanner input = new Scanner(System.in);int num = input.nextInt();switch(num){ case 1: computer.name = ”劉備“;break;case 2: computer.name = ”孫權(quán)“;break;case 3:

} computer.name = ”曹操“;break;//輸入用戶角色名

System.out.print(”請輸入你的姓名:“);person.name = input.next();

//顯示對戰(zhàn)雙方

System.out.print(person.name + ” VS “ + computer.name + ” 對戰(zhàn)n“);//開始游戲

System.out.print(”n要開始嗎?(y/n)“);String con = input.next();int perFist;//用戶出的拳 int compFist;//計算機出的拳

if(con.equals(”y“)){//判斷是否開始

String answer = ”y“;

while(”y“.equals(answer)){//循環(huán)條件是是否開始下一輪

//出拳

perFist = person.showFist();//調(diào)用用戶出拳方法

compFist = computer.showFist();//調(diào)用計算機出拳方法

//裁決

if((perFist == 1 && compFist == 1)||

(perFist == 2 && compFist == 2)||

(perFist == 3 && compFist == 3)){

System.out.println(”結(jié)果:和局,真衰!n“);//平局

}

else if((perFist == 1 && compFist == 3)||

(perFist == 2 && compFist == 1)||

(perFist == 3 && compFist == 2)){

System.out.println(”結(jié)果:恭喜, 你贏了!n“);//用戶贏

person.score++;

//累計用戶積分

}

else{

}

} System.out.println(”結(jié)果說:^_^,你輸了,真笨!n“);//計算機贏

computer.score++;

//累計計算機積分 } count++;//累計對戰(zhàn)次數(shù)

System.out.print(”是否開始下一輪(y/n):“);answer = input.next();}

//比較得分情況的方法 public void showResult(){ System.out.println(”-----------------------“);System.out.println(computer.name + ” VS “ + person.name);

System.out.println(”對戰(zhàn)次數(shù):“ + count);System.out.println(”n姓名t得分n“ + person.name + ”t“ + person.score

+ ”n“ + computer.name + ”t“ + computer.score + ”n“);

//比較積分

if(computer.score == person.score){

System.out.println(”結(jié)果:打成平手,下次再和你一分高下!“);

}

else if(computer.score < person.score){

System.out.println(”結(jié)果:你果然是高手,“ + computer.name + ”佩服!“);

}

else{

System.out.println(”結(jié)果:呵呵,笨笨,下次加油哦!“);

}

System.out.println(”-----------------------“);} } public class Computer {

String name;//名字屬性 int score;//積分屬性 //出拳方法

public int showFist(){ int num =(int)(Math.random()*3)+ 1;String fist = ”“;switch(num){ case 1:

fist = ”剪刀“;

break;case 2:

fist = ”石頭“;

break;case 3:

fist = ”布“;

break;

}

System.out.println(name + ”出拳:" + fist);

return num;} } 運行界面:

3、實驗心得體會:

從本次課程設(shè)計的完成中,我發(fā)現(xiàn)我有很多不足的地方,最突出的是所掌握的知識太少,學到的知識應用不到實踐中。后來通過看書查找相關(guān)資料,完成課程設(shè)計任務(wù)。

程序設(shè)計語言是程序設(shè)計的工具,如果想有效的設(shè)計程序,正確的應用程序表達算法,必須準確應用程序設(shè)計語言;學習程序設(shè)計,必須要多讀程序,并試著自己編寫程序,多上機調(diào)試程序代碼。

第四篇:C語言程序設(shè)計

1.Problem A: Hello world!Description Xiao_ming有兩個哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放學回家,父母分別跟他們打招呼。

Input 無

Output 請輸出: Hello Da_min, Hello Er_min, Hello Xiao_ming!

Sample Input Sample Output Hello Da_min, Hello Er_min, Hello Xiao_ming!

HINT 請注意換行符

Append Code #include int main(){

printf(“Hello Da_min,n”);

printf(“Hello Er_min,n”);

printf(“Hello Xiao_ming!n”);} 2.Problem B: 求圓的面積和周長 Description 從鍵盤輸入圓的半徑,求圓的面積和周長,圓周率取3.14。

Input 輸入一個浮點型數(shù)據(jù),有效數(shù)字不會超過十進制的6位。

Output 輸出為兩行。

第一行為圓的面積,第二行為圓的周長,格式見sample。

Sample Input 3

Sample Output Area: 28.260000 Perimeter: 18.840000

HINT 了解浮點類型的輸入、輸出和算術(shù)運算符

Append Code 法一

#include int main(){ double r,p,s;scanf(“%lf”,&r);p=2*3.14*r;s=3.14*r*r;printf(“Area: %lfn”,s);printf(“Perimeter: %lfn”,p);} 法二

#include #define pi 3.14 int main(){

double r;

scanf(“%d”,&r);

printf(“Area: %lfn”,pi*r*r);

printf(“Perimeter: %lfn”,2*pi*r);

}

3.Problem C:平均值 Description 求3個數(shù)的平均值。

Input 輸入只有一行,為3個較小的整數(shù)。

Output 輸出為這3個整數(shù)的平均值,保留3位小數(shù)。

Sample Input 1 2 3 Sample Output 2.000

HINT 注意除法運算對整型數(shù)據(jù)和浮點型數(shù)據(jù)是不一樣的。

Append Code #include int main(){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%.3lf”,(a+b+c)/3.0);}

4.Problem D: 求字符的值 Description 從鍵盤輸入3個字符(不含雙字節(jié)字符),分別輸出每個字符的十進制值(ASCII碼)、八進制值和十六進制值。

Input 輸入為3個字符。

Output 輸出為3行。

每一行為每個字符(對應輸入順序)的十進制、八進制和十六進制值,用空格分隔開。每個輸出的值占3個字符,不足3個字符前面補0。

Sample Input 0 A

Sample Output 048 060 030 032 040 020 065 101 041

HINT 了解字符值的存儲和整型的關(guān)系。

Append Code #include int main(){ char a,b,c;scanf(“%c%c%c”,&a,&b,&c);printf(“%.3d %.3o %.3xn”,a,a,a);printf(“%.3d %.3o %.3xn”,b,b,b);printf(“%.3d %.3o %.3xn”,c,c,c);}

5.Problem A: 最簡單的程序 Description 輸出一行“Hello world!”。

Input 無

Output Hello world!

Sample Input Sample Output Hello world!

HINT Append Code #include int main(){

printf(“Hello world!”);}

6.Problem B: 算術(shù)基本運算 Description 計算兩整數(shù)x和y(0

Input 輸入只有一行,格式見sample。

Output 輸出為多行,按順序每行輸出x,y的和、差、積、商、余數(shù)、x的平方和y的三次方,格式見sample

Sample Input x = 11, y = 3

Sample Output x + y : 14 xy : %dn“,x-y);

printf(”x * y : %dn“,x*y);

printf(”x / y quotient: %d, remainder: %dn“,x/y,x%y);

printf(”x ^ 2 : %dn“,x*x);

printf(”y ^ 3 : %dn“,y*y*y);} 7.Problem C: 自增自減運算 Description C語言中有自增運算++、自減運算--,并且可以前置和后置。

編寫一個程序:對輸入的一個整數(shù)a,輸出a++、a--、++a、--a的值。

Input 一個整數(shù)a,a是很小的整數(shù)。

Output 輸出為5行,第一行為a的值,后面依次為--a、a--、a++、++a的值。

5行輸出縱向a要對齊,“:”對齊,“:”前后各一個空格,后面的數(shù)值不用對齊。每行行尾都有回車。

Sample Input 0

Sample Output a : 0--a :-1 a--: 0 a++ : 0 ++a : 1

HINT Append Code #include int main(){ int a,x;scanf(”%dn“,&x);a=x;printf(” a

: %dn“,a);printf(”--a

: %dn“,--a);a=x;printf(” a--: %dn“,a--);a=x;printf(” a++ : %dn“,a++);a=x;printf(”++a

: %dn“,++a);}

8.Problem F: 絕對值 Description 求整型數(shù)據(jù)和浮點型數(shù)據(jù)的絕對值。

Input 輸入兩個數(shù),第一個是整數(shù),第二個是浮點數(shù)。

Output 輸出為兩行,第一行為整數(shù)的絕對值,第二行為浮點數(shù)的絕對值,注意浮點數(shù)的絕對值不輸出無意義的0。

Sample Input-1 1

Sample Output 1 1

HINT 求絕對值可以用標準庫函數(shù)來完成,也可以自己判斷。注意浮點數(shù)的輸出格式。求絕對值的函數(shù)在哪個頭文件?貌似很多人會搞錯,包括很多編書的人!

Append Code #include //#include int main(){

int n;

float m;

scanf(”%d%f“,&n,&m);

//n=abs(n);

//m=fabs(m);

if(n<0)

{

n=-n;

}

if(m<0)

{

m=-m;

}

printf(”%dn“,n);

printf(”%g“,m);

return 0;}

9.Problem A: 奇數(shù)還是偶數(shù)? Description 輸入一個整數(shù),判讀它是奇數(shù)還是偶數(shù)。

Input 輸入只有一行,為一個100以內(nèi)的正整數(shù)。

Output 輸出為一行。

若輸入為偶數(shù)則輸出“even”,奇數(shù)輸出“odd”。Sample Input 30

Sample Output even

HINT 用整數(shù)運算可以解決,練習“?:”表達式。

Append Code #include int main(){

int n;

scanf(”%d“,&n);

if(n>=0&&n<=100){

if(n%2==0)printf(”evenn“);

else printf(”oddn“);

}

return 0;}

10.Problem B: 簡單的打折計算 Description 商店規(guī)定:消費滿n元,可以打八八折。設(shè)某件商品標價m元,輸入購買的件數(shù)x,計算出需要支付的金額(單位:元),精確到分。

Input 輸入只有一行,三個整數(shù)m、n和x,且0

Sample Input 95 300 4

Sample Output 334.40

HINT 了解浮點型的輸出控制,注意整型和浮點型混合運算過程中的數(shù)據(jù)類型轉(zhuǎn)換。

Append Code #include int main(){

int m,x,n,a;

float b;

scanf(”%d%d%d“,&m,&n,&x);

0

x

m

a=m*x;

if(a>n)

b=0.88*a;

else

b=a;

printf(”%.2fn“,b);

}

11.Problem C: 判斷閏年 Description 輸入一個正整數(shù)的年份,判斷是否為閏年。

Input 輸入只有一行,為一個10000以內(nèi)的正整數(shù)。

Output 輸出為一行。

若輸入為閏年偶數(shù)則輸出“Yes”,否則輸出“No”。

Sample Input 2010

Sample Output No

HINT 了解邏輯運算符和關(guān)系運算符。

Append Code #include int main(){

int x;

scanf(”%d“,&x);

if(x>0&&x<10000)

{

if(x%4==0&&x%100!=0)

printf(”Yesn“);

else if(x%400==0)

printf(”Yesn“);

else

printf(”Non“);

}

else

printf(”error“);}

12.Problem D: 水仙花數(shù) Description 如果一個三位十進制數(shù)等于其各位數(shù)字的立方和,則稱這個數(shù)為水仙花數(shù)。如:13+53+33=153。

Input 一個整數(shù)x,100<=x<=999。

Output x是水仙花數(shù),則輸出“YES”,否則為“NO”。

Sample Input 153

Sample Output YES

HINT Append Code #include int main(){

int a,b,c,x;

scanf(”%d“,&x);

a=x/100;

b=x/10%10;

c=x%10;

if(x==a*a*a+b*b*b+c*c*c)

printf(”Yes“);

else

printf(”No“);}

13.Problem E: 三個數(shù)比較大小 Description 從鍵盤上輸入0~100之間的三個數(shù),按從小到大的順序輸出。

Input 輸入只有一行,為三個整數(shù)。

Output 按從小到大輸出這三個數(shù)。

Sample Input 15 10 20

Sample Output 10 15 20

HINT 用if語句判斷各種情況可以解決這個問題。

Append Code #include int main(){

int a,b,c;

scanf(”%d%d%d“,&a,&b,&c);

if(a>=b)

{

if(b>=c)

printf(”%d %d %dn“,c,b,a);

else if(c>=a)

printf(”%d %d %dn“,b,a,c);

else

printf(”%d %d %dn“,b,c,a);

}

else

{

if(a>=c)

printf(”%d %d %dn“,c,a,b);

else if(b>=c)

printf(”%d %d %dn“,a,c,b);

else

printf(”%d %d %dn“,a,b,c);

} }

14.Problem F: 奇怪的求和之一 Description 給定3個正整數(shù)a、b和c,按照如下規(guī)則求和: 如果這個數(shù)字是偶數(shù),則累加到和中;

如果這個數(shù)字是奇數(shù),則將大于該數(shù)的最小偶數(shù)累加到和中。

Input 三個正整數(shù),均在100以內(nèi)。

Output 一個和。

Sample Input 2 3 5

Sample Output 12

HINT 如果不會使用分支語句,可使用條件運算符判斷到底將哪個數(shù)累積到和中。

Append Code #include int main(){

int a,b,c;

scanf(”%d%d%d“,&a,&b,&c);

if(a%2!=0)a++;

if(b%2!=0)b++;

if(c%2!=0)c++;

printf(”%dn“,a+b+c);

}

15.Problem G: 你過線了嗎? Description 經(jīng)過四年的學習,你決定報考我國著名的“285”高校之一的北青大學,經(jīng)過認真的復習,殘酷的考試,終于知曉了自己的考試成績,也知道了北青大學的錄取分數(shù)線,請你編程判斷,自己過線了嗎? Input 輸入有2行,第一行有4個正整數(shù),分別表示三門課程的分數(shù)線以及總分分數(shù)線。第二行有3個非負整數(shù),分別表示你考的三門課程的成績。

Output 如果你的三門課程成績都不低于相應課程的分數(shù)線,且你的考試總分也不低于北青大學的總分分數(shù)線要求,則輸出“congratulations”,否則輸出“sorry”。

Sample Input 70 80 70 240 80 80 82

Sample Output congratulations

HINT 如果你不會使用分支語句,同樣可以使用條件運算符實現(xiàn)該程序。

Append Code #include int main(){

int a,b,c,d,e,f,g,h;

scanf(”%d %d %d %dn%d %d %d“,&a,&b,&c,&d,&e,&f,&g);

h=e+f+g;

if(e>=a&&f>=b&&g>=c&&h>=d)

printf(”congratulations“);

else

printf(”sorry“);} 16.Problem I: A+B Problem(II): Input/Output

Practice Description 計算a+b,0<=a,b<1000。

Input 輸入的第一行是一個整數(shù)N,后面有N對整數(shù)a和b,每對a和b占一行,a,b用空格分開。

Output 每行輸出一個a+b的和,順序與輸入對應。

Sample Input 2 1 2 10 20

Sample Output 3 30

HINT N給出了測試樣例數(shù),用for循環(huán)處理方便。

Append Code #include int main(){

int n,a,b,i;Scanf(“%d”,&n);For(i=0;i

17.Problem H: A+B Problem Description 計算a+b,0<=a,b<1000。

Input 輸入有多對整數(shù)a和b組成,每對a和b占一行,a,b用空格分開。

Output 每行輸出一個a+b的值,順序與輸入對應。

Sample Input 1 2 10 20

Sample Output 3 30

HINT OJ系統(tǒng)上測試輸入結(jié)束符為EOF(End Of File),其值為-1。用scanf()把文件所有內(nèi)容讀完后,會讀到EOF,所以可以用來判斷輸入是否完成,測試時可以用Ctrl+Z產(chǎn)生EOF。本題解法參看FAQ。Append Code #include int main(){

int a,b;

while(scanf(”%d%d“,&a,&b)!=EOF){

printf(”%dn“,a+b);

}

return 0;}

18.Problem A: 判斷是否是元音字母 Description 輸入一個英文字母,判斷是否是元音字母。元音字母是:a,e,i,o u,A,E,I,O,U

Input 輸入一個英文字母

Output 是元音字母,輸出“yes”,否則輸出“no”,行尾沒有回車。

Sample Input A

Sample Output yes

HINT Append Code #include void main(){

char ch;

scanf(”%c“,&ch);

if(ch>='A'&&ch<='Z')

ch=ch+32;

if(ch=='a')

printf(”yes“);

else if(ch=='e')

printf(”yes“);

else if(ch=='i')

printf(”yes“);

else if(ch=='o')

printf(”yes“);

else if(ch=='u')

printf(”yes“);

else

printf(”no“);

}

19.Problem B: 按順序輸出三個數(shù) Description 對于輸入的3個整數(shù),按照從小到大的順序輸出。

Input 輸入3個int類型內(nèi)的整數(shù),兩兩之間用一個空格隔開。

Output 按照從小到大的順序輸出上述三個數(shù),兩兩之間用一個空格隔開。

Sample Input 2 1 3 Sample Output 1 2 3

HINT Append Code #include void main(){

int a,b,c,temp;

scanf(”%d%d%d“,&a,&b,&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);}

20.Problem E: Description 判斷輸入整數(shù)的奇偶性。

判斷奇偶數(shù) Input 輸入為一個整數(shù)。

Output 輸出只有一行,代表判斷結(jié)果。如果輸入的整數(shù)n是一個偶數(shù),輸出: n is an even number.否則輸出:

n is an odd number.見樣例。

Sample Input 12

Sample Output 12 is an even number.HINT Append Code #include int main(){

int a;

scanf(”%d“,&a);

if(a%2==0)

printf(”%d is an even number.“,a);

else

printf(”%d is an odd number.“,a);}

21.Problem A: 判斷兩個整數(shù)的大小關(guān)系 Description 輸入2個整數(shù)a和b,如果a>b,則輸出1,否則輸出0。

Input 兩個整數(shù)a和b,均不超過int類型的表示范圍。

Output 表示a>b的結(jié)果:如果a>b,則輸出1,否則輸出0。

Sample Input 3 4

Sample Output 0

HINT

Append Code #include int main(){ int a,b;scanf(”%d %d“,&a,&b);if(a>b)

printf(”1“);

else

printf(”0“);return 0;} 22.Problem D: 成績的等級 Description 把百分制的考試成績轉(zhuǎn)換成五級制的成績: 90~100:Excellent 80~89:Good 70~79:Average 60~69:Pass 0~59:Failing

不在0~100之間的輸入是非法數(shù)據(jù),輸出“Error”。

Input 輸入多行,每行一個整數(shù)。

Output 輸入所對應的成績等級。

Sample Input-1 81 92 35 68 72 100

Sample Output Error Good Excellent Failing Pass Average Excellent HINT 用switch語句解決這個問題比較方便。

Append Code #include int main(){

int score;

while(scanf(”%d“,&score)!=EOF)

{

if(score<0||score>100)

printf(”Errorn“);

else

{

switch(score/10)

{

case 0:

case 1:

case 2:

case 3:

case 4:

case 5:printf(”Failingn“);break;

case 6:printf(”Passn“);break;

case 7:printf(”Averagen“);break;

case 8:printf(”Goodn“);break;

case 9:

case 10:printf(”Excellentn“);break;

}

}

}

return 0;}

23.Problem E: 輸出是m的倍數(shù)或n的倍數(shù)、但不是

m和n的公倍數(shù)的數(shù) Description 輸出1~k之間是m的倍數(shù)或n的倍數(shù)、但不是m和n的公倍數(shù)的數(shù),其中1<=m,n

Input 輸入三個整數(shù),依次為k、m、n。

Output 從小到大輸出符合題意的所有整數(shù),兩數(shù)之間用一個空格分開。

Sample Input 15 2 3

Sample Output 2 3 4 8 9 10 14 15

HINT 難點在于輸出格式的控制:空格在數(shù)的中間,學會用循環(huán)時邊界情況的特殊處理。

Append Code #include int main(){ int k,m,n,a,i=1;scanf(”%d %d %d“,&k,&m,&n);if(m

a=m;else

a=n;printf(”%d“,a);for(i=a+1;i<=k;i++){

}

if((i%m==0&&i%n!=0)||(i%n==0&&i%m!=0))

printf(” %d“,i);} return 0;

24.Problem B: 兩整數(shù)相加減 Description 計算a+b和a-b。

Input 輸入為一對整數(shù)a和b。a,b用空格分開。

Output 輸出a+b和a-b的計算結(jié)果,各占一行。

Sample Input 1 2

Sample Output 3-1

HINT Append Code #include int main(){ int a,b;scanf(”%d %d“,&a,&b);

printf(”%dn“,a+b);

printf(”%dn“,a-b);} 25 Problem C: 它滿足條件嗎? Description 需要判斷給定的一個整數(shù)是否同時滿足如下三個條件: 1.它是一個完全平方數(shù)。2.它是一個偶數(shù)。3.它是一個正數(shù)。

注:若一個數(shù)能表示成某個自然數(shù)的平方的形式,則稱這個數(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 一個int范圍內(nèi)的整數(shù)。

Output 如果輸入的數(shù)字滿足條件,則輸出yes,否則輸出no。

Sample Input 100

Sample Output yes

HINT 注意邏輯表達式判斷三個條件的順序。如果你不會使用分支語句,同樣可以使用條件運算符實現(xiàn)該程序。

庫函數(shù)sqrt()可以用于求一個數(shù)的平方根。

Append Code #include #include int main(){ int a;scanf(”%d“,&a);

if(a==sqrt(a)*sqrt(a)&&a%2==0&&a>0)

printf(”yes“);

else

printf(”no“);}

26.Problem F: 多路分支 Description 編寫一個完整的程序,運行時向用戶提問”你考試考了多少分?(0-100)“接受輸入后判斷其等級并顯示出來等級: 優(yōu):90<=分數(shù)<=100 良:80<=分數(shù)<90 中:60<=分數(shù)<80 差:0<=分數(shù)<60

Input 輸入任意一個整數(shù)分數(shù)值,顯示等級;再輸入任意一個整數(shù)分數(shù)值,顯示等級;....直到測試數(shù)據(jù)較充分,可輸入-1止。

Output 對任意輸入的分數(shù)值,輸出對應的等級,直到輸入的數(shù)為-1時才退出運行.Sample Input 102 100 90 80 70 60 50 0-80-1

Sample Output grad must between 0 and 100 優(yōu)

優(yōu)

grad must between 0 and 100 grad must between 0 and 100

HINT Append Code #include int main(){

int x;

while(scanf(”%d“,&x)!=EOF)

{

if(x<0||x>100)

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 學校舉行運動會,如果全體學生按照3人一隊列隊,則多了1個人;如果按照4人一隊列隊,則多了2個人;如果按照5人一隊排隊,則多了3個人。請問這個學校有多少學生?

Input 一個int類型的正整數(shù)N,是學生人數(shù)的上界,即:該校學生數(shù)不超過N。

Output 所有可能的學生數(shù),每個數(shù)占一行。

Sample Input 200

Sample Output 58 118 178

HINT Append Code #include #include int main(){

int n,i;

scanf(”%d“,&n);

for(i==1;i<=n;i++){ if(i%3==1&&i%4==2&&i%5==3)

printf(”%dn“,i);}

return 0;} Problem C: 正負數(shù)各有幾個? Description 輸入若干個整數(shù),求其中正數(shù)、負數(shù)的個數(shù)。

Input 輸入分為2行:第一行是一個數(shù)字N>0,表示下面有N個整數(shù)。第2行是N個整數(shù),都是int類型的。

Output 輸出所輸入的N個整數(shù)的正數(shù)個數(shù)和負數(shù)個數(shù),并用空格分開2個輸出。Sample Input 10 2 3 4 5-1-2-3-4-5

Sample Output 5 5

HINT 貌似還有一種叫做0的數(shù)。

Append Code #include int main(){

int n,a,i,num1=0,num2=0;

scanf(”%d“,&n);for(i=0;i

{

scanf(”%d“,&a);

if(a>0)

num1++;

else if(a<0)

num2++;

}

printf(”%d %dn“,num1,num2);

return 0;} Problem A: A+B Problem(III): Input/Output

Practice Description 計算a+b,0<=a,b<1000。

Input 輸入有多對整數(shù)a和b組成,每對a和b占一行,a,b用空格分開。當測試樣為0 0時表示輸入結(jié)束,0 0不參與運算。

Output 每行輸出一個a+b的值,順序與輸入對應。

Sample Input 1 2 10 20 0 0

Sample Output 3 30

HINT 練習break的使用。

Append Code #include int main(){ int a,b;while(scanf(”%d %d“,&a,&b)!=EOF)

{

if(a!=0||b!=0)

}

printf(”%dn“,a+b);

else

break;

return 0;} 30 Problem B: A+B Problem(IV): Input/Output

Practice Description 計算a+b,0<=a,b<1000。

Input 輸入有多對整數(shù)a和b組成,每對a和b占一行,a,b用空格分開。

Output 每行輸出一個a+b的值,順序與輸入對應。每個格式樣例之間用一個空行分隔開。

Sample Input 1 2 10 20 15 35

Sample Output 3 30 50

HINT 由于輸出的和比空行多一個,所以全部計算放在一個循環(huán)里是不行的,必須要特殊處理開頭或者結(jié)尾。

Append Code #include int main(){ int a,b,n=0;while(scanf(”%d %d“,&a,&b)!=EOF){

n++;

if(n==1)

printf(”%dn“,a+b);

else

printf(”n%dn“,a+b);

}

return 0;}

Problem C: n個數(shù)的最大值和最小值 Description 找出n個數(shù)中最大的數(shù)和最小的數(shù),并將它們的值輸出出來。

Input 輸入為n+1個整數(shù),都在int類型范圍內(nèi)。這些數(shù)可能用若干空格或者換行符分隔開。輸入的第1個數(shù)為n,表示后續(xù)有n個數(shù)輸入。從輸入的第2個數(shù)開始,求出直到第n+1個數(shù)中最大的數(shù)和最小的數(shù)。

Output 輸出為兩行,格式見sample。

Sample Input 3 0 1-1

Sample Output The maximum number is 1.The minimum number is-1.HINT 分隔符是空格還是回車都是空白符,對scanf(”%d“)來說沒有區(qū)別;先讀入n,然后用for循環(huán)就很容易控制讀入n個數(shù)的過程。

Append Code #include int main(){

int n,i,max,min;

scanf(”%d“,&n);

int a[n];

for(i=0;i

scanf(”%d“,&a[i]);

max=a[0];

min=a[0];

for(i=0;i

{

if(max

max=a[i];

if(min>a[i])

min=a[i];

}

printf(”The maximum number is %d.n“,max);

printf(”The minimum number is %d.“,min);

return 0;} 32.Problem D: 求100以內(nèi)的素數(shù) Description 素數(shù)是只能被1和自身整除的正整數(shù),根據(jù)數(shù)學定義1不是素數(shù)。素數(shù)也叫質(zhì)數(shù)。

Input 輸入為兩個整數(shù)m和n,滿足0<=m<=n<=100。

Output 從大到小輸出m~n之間的所有素數(shù),一個素數(shù)一行。如果m~n之間沒有素數(shù),則不輸出任何數(shù)。

輸出的所有數(shù)在兩行“=====”之間。

Sample Input 2 12

Sample Output ===== 11 7 5 3 2 =====

HINT 利用素數(shù)的數(shù)學規(guī)律可以很容易的解出此題,題目給出的數(shù)據(jù)范圍是關(guān)鍵。

Append Code #include #include int main(){ int m,n,i,j,k,t;scanf(”%d %d“,&m,&n);printf(”=====n“);for(i=n;i>=m;i--){

t=0;

for(j=2;j<=sqrt(i);j++)

if(i%j==0)

t=1;

if(t==0&&i>1)

printf(”%dn“,i);} printf(”=====“);return 0;} 33.Problem E: 是否構(gòu)成三角形? Description 給出三個整數(shù),代表三條邊的長度,判斷這三條邊的長度是否能構(gòu)成一個三角形?

Input 第一行是n(1<=n<=100),表示有n組測試數(shù)據(jù)

接下來有n行,每一行包含三個整數(shù),表示三個邊長(1<=邊長<=100)

Output 如果三條邊能構(gòu)成三角形,輸出YES,否則輸出NO

Sample Input 3 1 2 3 2 8 7 20 20 1

Sample Output NO YES YES

HINT Append Code #include int main(){ int a,b,c,n,i;scanf(”%d“,&n);for(i=0;i

{scanf(”%d%d%d“,&a,&b,&c);

if(a+b>c&&a+c>b&&b+c>a)

printf(”YESn“);else printf(”NOn“);}

return 0;} 34.Problem C: 簡單的整數(shù)排序 Description 對給出的若干整數(shù)按從小到大排序。

Input 輸入的第一個數(shù)為n(n<=1000),后接n個整數(shù)。

Output 按從小到大的順序輸出這些整數(shù),每兩個整數(shù)之間用一個空格分隔開,最后一個整數(shù)后面沒有空格。

Sample Input 10 3 9 1 5 2 8 5 6 7 3

Sample Output 1 2 3 3 5 5 6 7 8 9

HINT 排序前必須把所有的整數(shù)都存儲下來。因為只有最多1000個數(shù),1秒的時間足夠任何排序算法運行處結(jié)果來。

Append Code #include int main(){

int c,i,n,j;

int a[1000];

scanf(”%d“,&n);

for(i=0;i

scanf(”%d“,&a[i]);

for(i=1;i<=n-1;i++)

{

for(j=0;j

{

if(a[j]>a[j+1])

{

c=a[j];

a[j]=a[j+1];

a[j+1]=c;

}

}

}

printf(”%d“,a[0]);

for(i=1;i

printf(” %d“,a[i]);

return 0;}

35.Problem A: Description

購物的路程 Saya和Kudo一起去購物。假定她們逛的街是一條直線,而商鋪是這條直線上的一些點。她們將車停在該直線最左端的店鋪處,然后從左向右開始逛每一個店鋪,然后從最右邊的店鋪再返回到停車處。你的任務(wù)是計算她們走了多少路。

Input 輸入有多組。每一組的第一行是N(0

Output 對每組輸入,輸出她們走的路長。

Sample Input 4 13 89 37 6 7 30 41 14 39 42 0

Sample Output 152 70

HINT Append Code #include int main(){

int n,i,max,min,a[100001];

while(scanf(”%d“,&n)&&n!=0)

{

scanf(”%d“,&a[0]);

min=max=a[0];

for(i=1;i

{

scanf(”%d“,&a[i]);

if(a[i]>max)

max=a[i];

if(a[i]

min=a[i];

}

printf(”%dn“,(max-min)*2);

}

return 0;} 36.Problem B: 求累加和 Description 編程求min~max的累加和(含min和max),其中max>=min>0。部分程序已經(jīng)給出,請?zhí)畛淦渲械目瞻渍Z句,并提交填充后的完整程序。

Input 輸入為多行。第一行是一個整數(shù)N>0,表示后面有N個測試用例。后面有N行,每行包含2個整數(shù),分別是min和max。

Output 輸出為N行,每個測試用例的計算結(jié)果占據(jù)一行。每行的格式為: case i:sum=s.其中i表示測試用例的編號(從1開始),s是該測試用例對應的累加和(設(shè)不超過int的表示范圍)。

Sample Input 3 1 10 1 100 1 1

Sample Output case 1:sum=55.case 2:sum=5050.case 3:sum=1.HINT Append Code #include int main(){

int n,i,j,max,min,sum;

scanf(”%d“,&n);

for(i=0;i

{ sum=0;

scanf(”%d%d“,&min,&max);

if(max==min)

printf(”case %d:sum=%d.n“,i+1,min);

else

{

for(j=min;j<=max;j++)

sum=sum+j;

printf(”case %d:sum=%d.n“,i+1,sum);

}

} return 0;} 37.Problem G: 順序輸出字母 Description 按字母順序輸出兩個字母st和ed之間的所有字母,但不包括st和ed。不輸出逆序。

Input 兩個字母st和ed,都是大寫字母,用一個空格分開。

Output 在一行內(nèi)按順序輸出st和ed之間的所有字母,但不包括st和ed。例如:

輸入為A和E,則輸出為BCD;

輸入為A和B,則什么字母也不輸出,只有一個空行; 輸入為E和A,也是什么字母也不輸出,只有一個空行。最后要輸出一行(行尾不回車): ***END***

Sample Input A C

Sample Output B

***END***

HINT Append Code #include int main(){

char st,ed,a;

int i;

scanf(”%c%c%c“,&st,&a,&ed);

{

for(i=st+1;i

printf(”%c“,i);

printf(”n***END***“);

}

return 0;} 38.Problem F: 單字母變換 Description Tom和Jack是密碼學愛好者,他們在聊天時經(jīng)常使用一些暗語。他們使用的一種最簡單的暗語是:將要說的每句話里面的英文字母變成這個字母之后的某個字母。現(xiàn)在要求你寫一個程序,將一個字母變成它之后的某個字母。

Input 輸入有2個:一個大寫字母c和一個正整數(shù)d(0

Output 輸出字母c之后的第d個字母。大小寫與c一致。如果c之后的某個字母已經(jīng)超出'Z',則再從字母'A'開始計數(shù)。

如:c='A',d=3,則輸出應為:D。若:c='Y',d=3,則輸出應為:B。

Sample Input A 3

Sample Output D

HINT Append Code #include int main(){

char c;

int d;

scanf(”%c%d“,&c,&d);

if(c+d<='Z')

printf(”%c“,c+d);

else

printf(”%c“,c+d-26);

return 0;}

39.Problem B: 登錄密碼驗證 Description 編寫一個程序,模擬用戶登錄系統(tǒng)的密碼驗證過程。系統(tǒng)提供給用戶的密碼長度最長為20個字符,若密碼輸入錯誤可以再次輸入。但為了保證用戶密碼安全,若連續(xù)輸入密碼錯誤超過5次就會鎖定賬號一段時間。

Input 輸入為若干個串,至EOF結(jié)束。輸入的第一個串是用戶的正確密碼,后面的串為模擬用戶登錄時的輸入的密碼。

Output 每次輸入錯誤的密碼,輸出一個“Wrong!”,若輸入的密碼為正確的,輸出一個“Welcome!”,并結(jié)束密碼測試。若前5次輸入的密碼都是錯誤的,則后面的輸入中不管是否有正確的密碼都輸出“Out of limited!”。

Sample Input abcdefg

123456 kkkkkkkk abcdefg

Sample Output Wrong!Wrong!Welcome!

HINT 輸入可以用scanf(”%s“)處理,密碼比較用字符串的比較可以完成。

Append Code #include #include int main(){

char a[20],b[20];

int i,j=1;

scanf(”%s“,a);

while(scanf(”%s“,b)!=EOF)

{

if(j<=5)

{

if((strcmp(a,b)==0))

{

printf(”Welcome!n“);

break;

}

else

printf(”Wrong!n“);

j++;

}

else printf(”O(jiān)ut of limited!n");

} } 40.Problem C: 兔子的繁殖問題 Description 假設(shè)一對兔子每月能生一對小兔(一雌一雄),每對小兔出生后的下一個月是沒有繁殖能力的,至出生后的第三個月開始又可以每月生一隊小兔,問從一對剛出生的小兔開始,經(jīng)過若干個月后一共有多少兔子(假設(shè)在此過程中兔子沒有死亡)?

這個問題是意大利數(shù)學家菲波那契(Fibonacci)在他1202年出版的《算盤全書》中提出來的,從第一對剛出生的小兔開始每月的兔子數(shù)被乘坐菲波那契序列。

Input 輸入的第一個數(shù)為n,接下來有n個數(shù)字。每個數(shù)字為一個月份m(m<=45)。

Output 輸出為n行,每行為第m個月后的兔子總數(shù)。

第五篇:C 語言程序設(shè)計

《C 語言程序設(shè)計》主要在計算機軟件、計算機網(wǎng)絡(luò)、計算機應用、通信技術(shù)、智能電子、電子信息工程、多媒體以及核工程與核技術(shù)等專業(yè)中開設(shè),是電子信息類、機械類等工科專業(yè)的重要專業(yè)基礎(chǔ)課。

本校從2001至今,每年都開設(shè)《C語言程序設(shè)計》課程,由于,我校最開始時的特殊情況,主要把重點放在C語言中的各類重點、難點的語法、語義上,使得學生經(jīng)過比較復雜和痛苦的過程后,對C語言在使用上很難做到自己編寫程序。而且很多學生產(chǎn)生了畏懼心理。

2004年,學院成立計算機科學與技術(shù)系,為了更好學習和掌握C語言,計算機科學與技術(shù)專業(yè)和計算機維護專業(yè)(計算機應用技術(shù)前身)除了開設(shè)《C語言程序設(shè)計》課程外,在后續(xù)一學期還開設(shè)了《C語言程序設(shè)計課程設(shè)計》,使得計算機專業(yè)學生編程思想和能力得到了極大提高。

2005年,為了讓我院工科學生更好的掌握C語言編程以及通過四川省計算機二級考試,在《C語言程序設(shè)計》課程后設(shè)置《C語言程序設(shè)計課程設(shè)計》,極大地提高了學生的動手機會和能力,過級率顯著提高!

2007年,依托我校建設(shè)精品課程的契機,我們將C語言中的各個知識點進行重新規(guī)整,提出適用于三本院校學生的語言設(shè)計學習的方法。我們提出,先了解C語言,再學習C語言,再用C語言的思想。即在開始時讓學生初步知道C語言,然后引入比較簡單的運算符以及基本輸入、輸出和簡單的順序結(jié)構(gòu)程序設(shè)計。通過這樣的方式,我們發(fā)現(xiàn),學生在C語言的學習就不會從開始的時候陷入大量難懂的語法、語義和數(shù)據(jù)結(jié)構(gòu)中。有了以上鋪墊再層層進入,最終進入復雜的各類數(shù)據(jù)結(jié)構(gòu)以及指針等學習。通過以上的內(nèi)容規(guī)整后,教學效果有明顯提高。

下載C語言小游戲程序設(shè)計word格式文檔
下載C語言小游戲程序設(shè)計.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    基于C語言五子棋小游戲

    五子棋小游戲 一.需求分析 現(xiàn)在有越來越多的人使用電腦,而且五子棋的受眾廣泛但實體棋操作較為繁瑣且平時較難實現(xiàn),所以電腦版的五子棋游戲應運而生。大家對于這個小游戲的需......

    經(jīng)典C語言程序設(shè)計例題

    經(jīng)典C語言程序設(shè)計例題 【程序1】 題目:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復數(shù)字的三位數(shù)?都是多少? 1.程序分析:可填在百位、十位、個位的數(shù)字都是1、2、3、4。組......

    第一章 C語言程序設(shè)計

    第一章 C語言程序設(shè)計 考試形式:試卷(全國統(tǒng)一 4月第二個星期六9月倒數(shù)第二個星期六) 筆試: 滿分100分60分及格 時間:90分鐘內(nèi)容: 70分 C語言知識30分 公共基礎(chǔ) 選擇題:60分 前......

    C語言程序設(shè)計心得體會

    C語言程序設(shè)計心得體會在這為期半個月的時間內(nèi),通過我們小組各成員之間的相互討論和合作,我們完成了學生信息管理系統(tǒng)的程序設(shè)計,更值得高興的是我們的程序得到了大家的喜愛,在......

    語言程序設(shè)計練習題 2

    匯編語言程序設(shè)計練習題 一、單項選擇題:在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。 1.CPU要訪問的某一......

    C語言程序設(shè)計策劃書

    信息工程學院學生會科技部 關(guān)于舉辦信息工程學院C語言程序設(shè)計大賽的策劃書 一、活動背景: 隨著計算機技術(shù)的快速發(fā)展,計算機程序語言的多樣化,C語言已經(jīng)使用的越來越廣泛,C語言......

    《C語言程序設(shè)計》教學方法探討

    《C語言程序設(shè)計》教學方法探討 【摘要】針對目前《C語言程序設(shè)計》教學效果不理想的問題,結(jié)合教學實際,分析教學過程中存在的問題,針對計算機專業(yè)新生的教學方法進行探討,提出......

    C語言程序設(shè)計教案

    C語言程序設(shè)計教案 C語言程序設(shè)計教案 C 語言程序設(shè)計教案 C 語言概述 【教學目的】 1)了解 C 的發(fā)展 教學目的】 2)熟悉 C 的特點 教學重點】 【教學重點】 C 語言的特點......

主站蜘蛛池模板: 成人欧美一区二区三区的电影| 97人人模人人爽人人喊电影| 日韩人妻无码系列专区| 在线看片免费人成视频久网下载| 国产无遮挡又黄又爽高潮| 久久er99国产精品免费| 巨大乳女人做爰视频在线看| 好日子在线观看视频大全免费动漫| 国产福利视频一区二区精品| 亚洲欧美人成电影在线观看| 色窝窝无码一区二区三区| 大陆精大陆国产国语精品| 色噜噜狠狠色综合日日| 成人h视频在线观看| 好大好湿好硬顶到了好爽视频| 亚洲国产一区二区三区在观看| 中年人妻丰满av无码久久不卡| 亚洲av永久纯肉无码精品动漫| 男ji大巴进入女人的视频小说| 在线aⅴ亚洲中文字幕| 中文字幕亚洲无线码一区女同| 亚洲av午夜精品无码专区| 国产美女精品视频线免费播放| 亚洲欧洲日产国码无码app| 久久久精品2020免费观看| 国产肥白大熟妇bbbb视频| 国产精品无码一区二区牛牛| 四虎影视永久在线观看精品| 久久久精品94久久精品| 国产亚洲精品美女久久久m| 让少妇高潮无乱码高清在线观看| 国产精品一区二区久久| 亚洲成aⅴ人片在线观看| а√天堂资源官网在线资源| 国产精品无码a∨精品影院app| 亚洲人成77777在线播放网站不卡| 无码人妻丰满熟妇啪啪区日韩久久| 大屁股熟女一区二区三区| 天天躁日日躁狠狠躁性色av| 熟女无套高潮内谢吼叫免费| 麻豆国产精品va在线观看不卡|