西南交秋學(xué)期《程序設(shè)計基礎(chǔ)》離線作業(yè)答案_第1頁
西南交秋學(xué)期《程序設(shè)計基礎(chǔ)》離線作業(yè)答案_第2頁
西南交秋學(xué)期《程序設(shè)計基礎(chǔ)》離線作業(yè)答案_第3頁
西南交秋學(xué)期《程序設(shè)計基礎(chǔ)》離線作業(yè)答案_第4頁
西南交秋學(xué)期《程序設(shè)計基礎(chǔ)》離線作業(yè)答案_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序設(shè)計基礎(chǔ)第1次作業(yè)

一、單項選擇題(只有一個選項正確,共24道小題)

1.C語言中的標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符()o

(A)必須為字母

(B)必須為下劃線

(0必須為字母或下劃線

(D)可以是字母、數(shù)字和下劃線中任一種字符

正確答案:C

2.

設(shè)有程序段

intk=10;

while(k=0)k=k-l;

則下面描述正確的是()

(A)while循環(huán)執(zhí)行十次

(B)循環(huán)是無限循環(huán)

(0循環(huán)體語句一次也不執(zhí)行

(D)循環(huán)體語句執(zhí)行一次

正確答案:C

若有代數(shù)學(xué)則不正確的G吾言表達式是

3.be()

(A)

a/b/c*e*3

(B)3*a*e/b/c

(C)3*a*e/b*c

(D)a*e/c/b*3

正確答案:C

4.邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型()

(A)只能是0或非0正數(shù)

(B)可以是任何類型的數(shù)據(jù)。

(C)只能是整型或字符型數(shù)據(jù)

(D)只能是0或1

正確答案:B

5.以下關(guān)于運算符優(yōu)先順序的描述中正確的是()。

(A)關(guān)系運算符〈算術(shù)運算符〈賦值運算符〈邏輯與運算符

(B)邏輯與運算符〈關(guān)系運算符〈算術(shù)運算符〈賦值運算符

(0賦值運算符〈邏輯與運算符(關(guān)系運算符〈算術(shù)運算符

(D)算術(shù)運算符(關(guān)系運算符〈賦值運算符〈邏輯與運算符

正確答案:C

6.能正確表示“當x的取值在[1,10]和[200,210]范圍內(nèi)為真,否則為假”的

表達式是()

(A)(x>=l)&&(x<=10)&&(x>=200)&&(x<=210)

(B)(x>=l)||(x<=10)||(x>=200)||(x<=210)

(C)(x>=l)&&(x<=10)||(x>=200)&&(x<=210)

(D)(x>=l)||(x<=10)&&(x>=200)||(x<=210)

正確答案:C

7.判斷char型變量ch是否為大寫字母的正確表達式是()

(A)'A'<=ch<='Z'

(B)(ch>=,A')&(ch<=?V)

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

(D)('A'<=ch)ANDCV>=ch)

正確答案:C

8.C語言的下列運算符中,優(yōu)先級最低的是()?

(A)||

(B)!=

(0<=

(D)+

正確答案:A

9.執(zhí)行以下輸出段的結(jié)果是()

intw=3,z=7,x=10;

printf("%d\nn,x>10?x+100:x-10);

printf(w刎\n”,w++||z++);

printf(w%d\n",!w>z);

printf(M%d\n”,w&&z);

(A)0111

(B)1111

(C)0101

(D)0100

正確答案:C

10.以下程序段()

x=-l;

do

{x=x*x;}

while(!x);

(A)是死循環(huán)

(B)循環(huán)執(zhí)行兩次

(0循環(huán)執(zhí)行一次

(D)有語法錯誤

正確答案:C

11.在C語言中,能代表邏輯“真”的是—

(A)true

(B)大于。的數(shù)

(0非0的整數(shù)

(D)非0的數(shù)

正確答案:C

12.C語言沒有專門的邏輯變量,它表示邏輯真的方法是

(A)TRUE

(B)0

(01

(D)一切非零數(shù)值

正確答案:D

13.以下正確的C標識符是

(A)_8

(B)@

(C)E+008

(D)A$

正確答案:A

14.一般說來,C語言的數(shù)組下標

(A)固定從1開始

(B)可從負整數(shù)開始

(C)可從正整數(shù)

(D)固定從。開始

正確答案:D

15.以下程序的輸出結(jié)果是。

x=0;doprintfx++);while(x<=l);

(A)0

(B)01

(C)012

(D)無任何顯示

正確答案:B

16.設(shè)有程序段intm=10;while(m=0)m=m+l;則下述正確的是

(A)while循環(huán)執(zhí)行10次;

(B)循環(huán)式無限循環(huán)

(0循環(huán)體語句不執(zhí)行

(D)循環(huán)體語句執(zhí)行一次

正確答案:C

17.以下正確的C語言標識符是().

(A)_8

(B)@

(C)E+008

(D)A$

正確答案:A

18.下列符號中,合法的C常量是()。

(A)le8.2

(B)OXFFH

(05

(D)089

正確答案:C

19.語句x=3;do{printf("%d",x);x—}while(x==0);的執(zhí)行結(jié)果是().

(A)3210

(B)321

(03

(D)無任何顯示

正確答案:C

20.下列符號中,合法的C常量是

(A)

(B)079

(C)3.5e2.1

(D)Oxch

正確答案:A

21.有以下程序段

intk=0;

while(k=l)k++;

則while循環(huán)執(zhí)行的次數(shù)是

(A)無限次

(B)有語法錯,不能執(zhí)行

(0一次也不執(zhí)行

(D)執(zhí)行1次

正確答案:A

22.以卜所列的C語言常量中,錯誤的是

(A)OxFF

(B)1.2e0.5

(C)2.6

(D)'\72'

正確答案:B

23.以下合法的C語言標識符是

(A)_8

(B)$8

(08_

(D)E8.8

正確答案:A

24.下列程序輸出結(jié)果是:

main()

{inti,sum;

for(i=0,i<ll;i++)

{sum=0;

sum=sum+i;

}

printf("sum或d”,sum);

}

(A)sum=55

(B)sum=10

正確答案:B

三、判斷題(判斷正誤,共15道小題)

25.C語言俗稱“低級語言的高級形式”,這說明C語言的功能不強。

正確答案:說法錯誤

26.下面的程序段構(gòu)成死循環(huán)。

a=5;

while(1){a—;if(a<0)break;}

正確答案:說法錯誤

27.一個C程序的執(zhí)行是從本程序文件的第?個函數(shù)開始,到本程序文件的最后一個函數(shù)

結(jié)束

正確答案:說法錯誤

28.C程序在進行編譯時并不檢查數(shù)組下標是否超界。

正確答案:說法正確

29.轉(zhuǎn)義字符是一種特殊形式的字符常量,它占用一個字節(jié)的內(nèi)存單元

正確答案:說法正確

30.若變量已有正確定義,且num=sum=7;則執(zhí)行表達式sum=num++,sum++,++num

后sum的值為7。

正確答案:說法錯誤

31.在C語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是任何類型的表達式。

正確答案:說法錯誤

32.語言中,只有1才能用于邏輯表達式表示邏輯“真二

正確答案:說法錯誤

33.

一個C程序的執(zhí)行是從本程序的main函數(shù)開始。

正確答案:說法正確

34.C語言中的標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字

母和下劃線。

正確答案:說法正確

35.當從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型

數(shù)值?

正確答案:說法錯誤

36.當輸入?個實型數(shù)據(jù)時,格式控制部分應(yīng)規(guī)定小數(shù)點后的位數(shù),如scanf("%4.2f〃,

&f).

正確答案:說法錯誤

37.邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型可以是任何有值的類型。

正確答案:說法正確

38.語句while(!E);中的表達式!E等價于E!=0。

正確答案:說法錯誤

39.在C語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是任何類型的表達式。

正確答案:說法錯誤

40.若不包含相應(yīng)頭文件,程序員可以定義與標準庫函數(shù)同名的用戶自定義函數(shù),若如此,

該函數(shù)將

失去原有意義。

正確答案:說法正確

程序設(shè)計基礎(chǔ)第2次作業(yè)

1.假設(shè)所有變量均為整型,則表達式(a=2,b=5,b++,a+b)的值是。

參考答案:8

2.假設(shè)所有變量均為整型,則表達式(a=2,b=5,a++,b++,a+b)的值為。

參考答案:9

3.若a是int型變量,則表達式(a=4*5,a*2),a+6的值為。

參考答案:26

4.若x和n均是int型變量,且x和n的初值均為5,則計算表達式x+=n++后x的值為10,

n的值為。

參考答案:6

5.若定義:intb=7;floata=2.5,c=4.7;則表達式a+(int)(b/3*(int)(a+c)/2)%4

的值為。

參考答案:5.500000

6.當a=3,b=2,c=l時,表達式f=a>b>c的值是

參考答案:0

7.當a=5,b=4,c=2時,表達式a>b!=c的值是

參考答案:1

8.設(shè)y為int型變量,請寫出描述“y是奇數(shù)”的表達式:

參考答案:(y%2)==l

9.條件“2或x<-10”的C語言表達式是:

參考答案:x>2&&x<3||x<-10

10.有inta=3,b=-4,c=5,則表達式a||b+c&&b==c的值為:

參考答案:1

11.C語言中沒有邏輯型數(shù)據(jù),在給出邏輯運算結(jié)果時,以代表“真”,以代表

“假”;但在判斷一個量是否為真時,以代表“真”,以代表“假”

參考答案:10非00

12.已知int=12;執(zhí)行語句a*=2+4后,變量a的值為。

參考答案:24

13.已知int=2,b;執(zhí)行語句b=a—;后,變量a的值為,b的值為。

參考答案:12

14.若有inta=2,b=l,c=0;執(zhí)行語句c=a++-b-后,變量c的值為,b的值

參考答案:10

15.當算術(shù)表達式中出現(xiàn)了char型變量時,系統(tǒng)自動將該型變量值轉(zhuǎn)換為類型值才

參與運算。

參考答案:整型

16.結(jié)構(gòu)化程序設(shè)計只需使用三種程序結(jié)構(gòu),分別是結(jié)構(gòu)、分支(或選擇)結(jié)構(gòu)和

結(jié)構(gòu)。

參考答案:順序循環(huán)

17.C語言中,continue語句的作用是。

參考答案:終止本次循環(huán)體的執(zhí)行并開始下一次循環(huán)

18.寫出下列表達式的求值結(jié)果:

(1)2+3<=2(2)5/3+2

(3)!(3>2)||8!=7(4)3+7%3

參考答案:(1)0(2)3(3)1(4)4

19.寫出下列表達式的求值結(jié)果:

(1)9+5/2(2)8%3+6(3)8+2<=9

(4)sizeof('A'+2)

參考答案:(1)11(2)8(3)0(4)2

數(shù)學(xué)式時應(yīng)的。語言表式為

20.&+D

參考答案:

a*x+(a+x)/4/(a*a+l)

數(shù)學(xué)式-與二對應(yīng)的。語言表式為

21.2(戈+1)

參考答案:

-(x+l)/2/(x*x+l)或-(x+1)/(2*(x*x+l))

22.表達式!!356的值是。

參考答案:1

23.有如下語句:charA[]={"SWJTU"};該字符串的長度是,A[3]=。

參考答案:5(允許無單引號和寫ASCII碼84)

24.符號"a"和'a'的區(qū)別是。

參考答案:前者(“a”)為串,占2字節(jié)存儲;后者(’a,)為字符占1字節(jié)存儲

25.C語言的字符串結(jié)尾用字符表示串結(jié)束。

參考答案:'\0'(或者0)

26.若有定義intx=5,n=5;則執(zhí)行語句x+=n++;后,x的值=,n的值=。

參考答案:106

27.C語言的靜態(tài)變量以及靜態(tài)數(shù)組元素默認的初值為。

參考答案:0

28.若有定義charch='C';則puchar((ch>='A'&&ch〈='Z')?(ch+32):ch);語句的輸

出結(jié)果為。

參考答案:c

29.以下程序的輸出結(jié)果是:

main()

{intx=2,y=T,z=2;

if(x

if(y<0)z=0;

elsez+=l;

printf("%d\n",z);

}

參考答案:2

30.以下程序的運行結(jié)果是

main()

{intx,y,z;

x=l;y=l;z=0;

x=xy&&z;

printf(u%d,,x,x&&!y||z);

)

參考答案:1,0

31.

閱讀以下程序,寫出程序運行的結(jié)果。

main()

{intx=3;

do{x--;printf("%2d”,x);}while(x>0);

)

該程序的輸出是。

參考答案:210

32.

閱讀以下程序,寫出程序運行的結(jié)果。

#include"stdio.h”

voidmain()

{ints=0,k=0;

while(k<4){s+=k;k++;printf("%d",s);}

}

該程序的輸出是。

參考答案:0136

33.閱讀以下程序,寫出程序運行的結(jié)果。

#include"stdio.h"

voidmain()

{staticinta[5]={2,-15,1,0,-7};inti;

for(i=0;i<5;i++)

if(a[i]<0)

a[i]=-a[i];

for(i=4;i>=0;i—)

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

}

該程序的輸出是

參考答案:7011512

34.執(zhí)行下面的程序片段后,變量x的值是

intx,y;

for(y=l,x=l;y<=50;y++)

{if(x>=10)break;

if(x%2==1)

{x+=5;continue;}

x-=3;

}

參考答案:3

35.下列程序段的輸出是。

#include>

voidmain()

{intk;

for(k=l;k<5;k++)

if(k%2)printf('*〃);elsecontinue;

printf(〃#");

)

)

參考答案:*#*#

36.下面程序的運行結(jié)果是。

?include〃stdio.h〃

voidmain()

{intm,n;

m=10;n=-1;

do{m++;n+=5;

if(!(n%3))printf(z/%4d964d\n〃,m,n);

}while(m>n);

}

參考答案:129

37.以下程序?qū)斎氲膬蓚€整數(shù),按從大到小順序輸出。請在【】內(nèi)填入正確內(nèi)容。

main()

{intx,y,z;

scanf("%d,%d",&x,&y);

if([11)

{z=x;[2])

printf("%d,%d”,x,y);

)

參考答案:

1x<y

2x=y;y=z;

38.以下程序的功能是打印輸出1000以內(nèi)的素數(shù),請?zhí)羁帐怪晟啤?/p>

^include"stdio.h"

ttinclude"”

main()

{intm,i,k;

for(m=2;m<=l000;m++)

{k=(int)sqrt(m+1);

for(i=2;i<=;i++)if(m%i-0)break;

if()printf(,m);

)

)

參考答案:

math.h

m

i>k

39.

以卜.程序是從鍵盤輸入10個整數(shù),輸出其中最大數(shù)和最小數(shù)。請?zhí)羁帐钩绦蚨喂δ芡暾?/p>

#include

voidmainO

{inti,n,max,min;

scanf(,&n);

max=n;min=n;

for(_(1)__;i<=10;i++)

{scanf(,&n);

if(min>n)_(2)__

if(_(3)_)max=n;

)

printf("最大數(shù)為:%d,最小數(shù)為:%d”,max,min);

)

參考答案:

(1)_i=2

(2)_min=n_

(3)max<n

40.編程題:

編制程序要求輸入整數(shù)a和b,若a2+b2大于100,則輸出a2+b2百位以上的數(shù)字,否

則輸出兩數(shù)之和。

參考答案:

mainO

(inta,b,x,y;

scanf(u%d%d",&a,&b);

x=a*a+b*b;

if(x>100)

{y=x/100;printf(u%d,J,y);}

elseprintf(,a+b);

)

41.

編程題:編程判斷輸入的正整數(shù)是否既是5又是7的整倍數(shù)。若是,則輸出yes;否則輸出

DOo

參考答案:

main()

{intx;

scanf("%d”,&x);

if(x%5=0&&x%7=0)

printf("yes”);

else

printf("no");

}

42.編程題:帶100元錢去買魚,大魚每條3元,中等大小的魚2元,小魚每條5角,要

求買100條魚,編程算出共有幾種采購方案。

參考答案:

main()

{intd,z,x,i;

for(d=0;d<=33;d++)

for(z=0;z<=50;z++)

{x=100-d-z;

if(3*d+2*z+0.5*z<=100)

printf(ud=%d,z=%d,x=%d\n",d,z,x);

)

43.編程題:從鍵盤讀入一個字符,判斷并輸出其屬于數(shù)字字符、英文字母還是其它字符。

參考答案:

#include-stdio.h〃

voidmain()

(

charch;

ch=getchar();

if((ch>='A'&&ch<二'Z')||(ch>='a'&&ch<='z'))

printf(,?%c是英文字母\n〃,ch);

elseif(ch>='O'&&ch<='9')

printf(z,%c是數(shù)字字符\n〃,ch);

else

printf(,z%c是其他字母\n〃,ch);

)

程序設(shè)計基礎(chǔ)第3次作業(yè)

1.

課內(nèi)作業(yè)題

3.9

(1)若有定義doublex=2.5,y=4.7;inta-7

則表達式x+a%3*(int)(x+y)%2/4的值是:()

(2)若有定義inta=2,b=3;doublex=3.5,y=2.5

則表達式(float)(a+b)/2+(int)x%(int)y的值是:()

參考答案:

(1)2.5

(2)3.5

2.

課內(nèi)作業(yè)題:3.12

寫出以下賦值表達式運算后a的值,設(shè)原來a=12

(l)a+=aa的值為:(2)a-=2a的值為:(3)a%=2+3a的值為:

(4)a/=a+aa的值為:(5)a%=(n%=2),n的值等于5a的值為:

參考答案:

寫出以下賦值表達式運算后a的值,設(shè)原來a=12

(l)a+=aa的值為:24(2)a-=2a的值為:10(3)a%=2+3a的值為:60

(4)a/=a+aa的值為:0(5)a%=(n%=2),n的值等于5a的值為:0

3.

課內(nèi)作業(yè)題:

4.9輸入一個華氏溫度,要求輸出攝氏溫度。

公式為

輸出要求有文字說明,取2位小數(shù)。

參考答案:

main()

{doublec,F;

printf("InputF=");scanf("%lf",&F);

c=5.0/9*(F-32);

printf("c=%.2f\n",c);

}

4.

課內(nèi)作業(yè)題:

5.3寫出以下各邏輯表達式的值。設(shè)a=3,b=4,c=5。

(1)a+b>c&&b==c邏輯表達式的值:

(2)al|b+c&&b-c邏輯表達式的值:

(3)!(a>b)&&!c||1邏輯表達式的值:

(4)!(x=a)&&(y=b)&&0邏輯表達式的值:

(5)!(a+b)+c-l&&b+c/2邏輯表達式的值:

參考答案:

5.3寫出以下各邏輯表達式的值。設(shè)a=3,b=4,c=5。

(1)a+b>c&&b==c邏輯表達式的值:0

(2)a||b+c&&b-c邏輯表達式的值:1

(3)!(a>b)&&!c||1邏輯表達式的值:1

(4)!(x=a)&&(y=b)&&0邏輯表達式的值:0

(5)!(a+b)+c-l&&b+c/2邏輯表達式的值:1

5.

課內(nèi)作業(yè)題:編程實現(xiàn)

5.5輸入x,求函數(shù)

rX(X<1)

產(chǎn)y2x-l(iWxvlO)

3x-ll(x3:10)

的值。

參考答案:

include"stdio.h”

main()

{floatx,y;

printf("inputx=");

scanf(,&x);

if(x<l)

y二x;

else

if(x<10)

y=2*x-l;

elsey=3*x-ll;

printf("\nx=%f\n",y);

6.

課內(nèi)作業(yè)題:

5.6給出一百分制成績,要求輸出成績等級。

90~100:A80、89:B70^79:C60?69:D60分以下E

參考答案:

main()

{intscore;charx;

printf("inputthescore:“);scanf(&score);

switch(score/10)

{case10:case9:level=,A';break;

case8:level='B';break;

case7:level='C';break;

case6:level='D';break;

default:level='E';

)

printf(levelis%c\n,,,level);

}

7.

課內(nèi)作業(yè)題:

6.4編程實現(xiàn)

計算£期P:l+2!+3!+…+20!)

參考答案:

main()

{longi,sum=0,t=1;

for(i=l;i<=20;++i)

(

t=t*i;

sum=sum+t;

1

printf("sum=%ld\n,>,sum);

)

結(jié)果:sum=268040729

8.

課內(nèi)作業(yè)題:

6.6打印所有“水仙花數(shù)”。所謂水仙花數(shù)是指這樣的三位正整數(shù),其各位數(shù)字立方和等于

該數(shù)本身。如:153=13+53+33

參考答案:

ttinclude"stdio.h"

voidmain()

{intm,n,i,j,k;

for(m=100;m<=999;m++)

{i=m/100;j=m/10%10;k=m%10;

n=i*i*i+j*j*j+k*k*k;

if(m=n)printf("/d\n",m);

)

}

程序設(shè)計基礎(chǔ)第4次作業(yè)

1.

例1:輸入若干非0實數(shù),直到輸入0時停止,要求輸入的實數(shù)最多不超過20個,統(tǒng)計其

中正數(shù)的個數(shù),負數(shù)的個數(shù)。

分析:設(shè)三個計數(shù)變量:

n-統(tǒng)計輸入的數(shù)據(jù)總個數(shù)(為什么有必要?)

posn—統(tǒng)計正數(shù)的數(shù)目

negn-統(tǒng)計負數(shù)的數(shù)目

參考答案:

^include“stdio.h"

voidmain()

{intn,posn,negn;doublea;

n二posn=0;printf("Inputrealnumbers:;

while(l)

{scanf("%lf”,&a);if(a==0)break;

if(a>0)posn++;

n++;

if(n>=20)break;

)

negn=n-posn;

printf("posn趣d,negn二/d\n”,posn,negn);

}

2.

編程:例2:輸入一行字符,統(tǒng)計其中的英文字母個數(shù)。

提示:即輸入到字符'\n'時停止輸入

參考答案:

^include"stdio.h"

voidmain()

{charch;intn=0;

printf("Inputastring:\n,J);

while(1)

{ch=getchar();if(ch==<\n,)break;

if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')

n++;

)

printf(^Numberoflettersis%d.\n",n);

)

3.

求最大值最小值問題:

例1:輸入若干int型非0整數(shù),直到輸入0時停止,求輸入的非0整數(shù)中的最大值

參考答案:

^include“stdio.h"

voidmain()

{inta,max;

printf("Inputintegersuntilinput0:\n");

scanf(“%d”,&max);

while(1)

{scanf(u%d,r,&a);if(!a)break;

if(a>max)max=a;

)

printf("max=%d\n>,,max);

)

4.

求最大值最小值問題:

例2.編程序求一批數(shù)的最大和最小數(shù),直到輸入0為止。

參考答案:

main()

{intn;floatx,max,min;

scanf("&x);

max=x;

min=x;

while(x!=0)

{if(x>max)max=x;

elseif(x<min)min=x;

scanf(,&x);

)

printf("m=%f\bl=%f\n”,max,min);

)

5.

基本累加/累乘問題

例1:計算s=l+2+3+???+n(n2l)

參考答案:

#include“stdio.h"main()

{ints,k,n;

printf(uInputn=");scanf("%d",&n);

s=0;k=l;

while(k<=n){s+=k;k++;}

printf(ws=%d\n^,s);

)

6.

基本累加/累乘問題:

n

例3.計算sm=n!=口i

i=l

參考答案:

main()

{intn,i;doubles=l;

for(i=l;i<=n;i++)s*=i;

printf("sm=%f\n",s);

)

7.

基本累加/累乘問題:

例4.輸入n個100分制成績(用整型),計算并輸出平均成績,要求輸出精確到兩位小數(shù)。

參考答案:

^include"stdio.h”

#definen10

voidmain()

{doubleav=0;intscore,i;

for(i=l;i<=n;i++)

{scanf(,&score);av+=score;}

av/=n;printf(<4av=%.2f\n",av);

)

8.

基本累加/累乘問題

例5計算Fibonacci數(shù)列:1,1,2,3,5,8,......的前n個數(shù),

即:1i=l,2

fi=.

.a+&*3

參考答案:

main()

{intn,i;longintfl,f2;

scanf("%d",&n);

fl=l;f2=l;

for(i=l;i<=n/2;i++)

{printf(“%121d%121d“,fl,f2);

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

fl+=f2;f2+=f1;

)

)

9.

字符圖形

例1:輸出以下*號圖形(打印行數(shù)n由鍵盤輸入)

*

?1**1**1*

參考答案:

ttinclude"stdio.h"

voidmain()

{intn,i,j;

printf(Inputn=");

scanf("%d",&n);

for(i=l;i<=n;i++)

(

for(j=l;j<=i;j++)

putchar(,*');

printf("\n”);

)

}

10.

字符圖形:

例2:輸出以下*號圖形(打印行數(shù)n山鍵盤輸入)

****

參考答案:

^include“stdio.h"

voidmain()

printf(Inputn=");scanf("%d”,&n);

for(i=l;i<=n;i++)

{for(j=l;j<=n-i;j++)putchar(4');

for(j=l;j<=i;j++)putchar(;

printf("\n");

)

)

11.

字符圖形

例3:輸出以下*號圖形(打印行數(shù)n由鍵盤輸入)

*

***

參考答案:

#include"stdio.h"

voidmain()

{intn,i,j;

printf(Inputn=");scanf("%d",&n);

for(i=l;i<=n;i++)

{for(j=l;j<=n-i;j++)putchar('');

for(j=l;j<=2*i-l;j++)putchar('*');

printf(“\n");

)

)

12.

搜索(窮舉求解)

例1:中國剩余定理:“有物不知幾何,三三數(shù)余一,五五數(shù)余二,七七數(shù)余三,問:物有

兒何?編程求1000以內(nèi)所有解。

參考答案:

^include"stdio.h"

voidmain()

{intm,count=0;

for(m=l;m<=1000;m++)

if(m%3==l&&m%5==2&&m%7==3)

{printf("%5d",m);count++;

if(count%5==0)printf("\n");

)

}

13.

搜索(窮舉求解)

例2:編一程序,將從2000年到3000年之間的潤年年號顯示出來

參考答案:

main()

{inti;

for(i=2000;i<=3000;i++)

if(i%4==0&&i%100!=0||(i%400==0))

printf('?%d\n/z,i);

14.

搜索(窮舉求解)

例3.編程,把個位數(shù)為3且能被3整除的四位數(shù)顯示出來.

參考答案:

main()

{inti;

for(i=1003;i<=9993;i++)

if(i%10==3&&i%3==0)

printf("%d\n",i);

}

15.

搜索(窮舉求解)

例2:打印水仙花數(shù)。所謂水仙花數(shù)是指這樣的三位正整數(shù),其各位數(shù)字立方和等于該數(shù)本

身。

如:153=13+53+33

參考答案:

#include"stdio.h"/*解法一*/

voidmain()

{inti,j,k,m,n;

for(i=l;i<=9;i++)

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

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

{m=i*i*i+j*j*j+k*k*k;

n=100*i+10*j+k;

if(m==n)printf("%d\n",m);

)

)

^include“stdio.h"/*解法二*/

voidmain()

{intm,n,i,j,k;

for(m=100;m<=999;m++)

{i=m/100;j=m/10%10;k=m%10;

n=i*j*i+j*j*j+k*k*k;

if(m==n)printf("%d\n",m);}

16.

例3:“雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁母雛各幾

何?”(引自張邱建算經(jīng),公元五世紀)

參考答案:

分析:設(shè)x,y,z分別表示雞翁,雞母,雞雛的數(shù)目,則有

x:0~20

y:0~33

z:0^100

rx+y+z=100

[5x+3v+z/3=100

^include“stdio.h”

voidmain()

{intx,y,z;

printf("CockHenchicken'n");

for(x=0;x<=20;x++)

for(y=0;y<=33;y++)

{z=3*(100-5*x-3*y);

if(z>=0&&x+y+z=100)

printf("%8d%8d%8d\n",x,y,z);

)

)

17.

數(shù)組的應(yīng)用

例1將一維數(shù)組中元素的值(1,3,5,7,9,11,13,15)按逆序重新存放

參考答案:

mainO

{inti,j;floata[8]={l,3,5,7,9,11,13,15),c;

for(i=0,j=7;i<j;i++,j-)

{c=a[i];a[i]=a[j];a[j]=c;

printf(,zTheresultis:\n〃);

for(i=0;i<8;i++)

printf(,z%6.2f”,a[i]);

printf(〃\n〃);

18.

數(shù)組的應(yīng)用

例2從鍵盤上為一個5X5整型數(shù)組輸入數(shù)據(jù),并找出主對角線上元素的最大值及其所在的

行號。

參考答案:

mainO

{inti,j,max,row,a[5][5];

for(i=0;i<5;i++)

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

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

max=a[0][0];row=0;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論