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

下載本文檔

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

文檔簡介

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

一、單項(xiàng)選擇題(只有一個(gè)選項(xiàng)正確,共24道小題)

1.C語言中的標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符()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吾言表達(dá)式是

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.邏輯運(yùn)算符兩側(cè)運(yùn)算對象的數(shù)據(jù)類型()

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

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

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

(D)只能是0或1

正確答案:B

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

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

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

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

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

正確答案:C

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

表達(dá)式是()

(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是否為大寫字母的正確表達(dá)式是()

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

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

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

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

正確答案:C

8.C語言的下列運(yùn)算符中,優(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標(biāo)識符是

(A)_8

(B)@

(C)E+008

(D)A$

正確答案:A

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

(A)固定從1開始

(B)可從負(fù)整數(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語言標(biāo)識符是().

(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語言標(biāo)識符是

(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語言的功能不強(qiáng)。

正確答案:說法錯誤

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

a=5;

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

正確答案:說法錯誤

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

結(jié)束

正確答案:說法錯誤

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

正確答案:說法正確

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

正確答案:說法正確

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

后sum的值為7。

正確答案:說法錯誤

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

正確答案:說法錯誤

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

正確答案:說法錯誤

33.

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

正確答案:說法正確

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

母和下劃線。

正確答案:說法正確

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

數(shù)值?

正確答案:說法錯誤

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

&f).

正確答案:說法錯誤

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

正確答案:說法正確

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

正確答案:說法錯誤

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

正確答案:說法錯誤

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

該函數(shù)將

失去原有意義。

正確答案:說法正確

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

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

參考答案:8

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

參考答案:9

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

參考答案:26

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

n的值為。

參考答案:6

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

的值為。

參考答案:5.500000

6.當(dāng)a=3,b=2,c=l時(shí),表達(dá)式f=a>b>c的值是

參考答案:0

7.當(dāng)a=5,b=4,c=2時(shí),表達(dá)式a>b!=c的值是

參考答案:1

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

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

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

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

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

參考答案:1

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

“假”;但在判斷一個(gè)量是否為真時(shí),以代表“真”,以代表“假”

參考答案: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.當(dāng)算術(shù)表達(dá)式中出現(xiàn)了char型變量時(shí),系統(tǒng)自動將該型變量值轉(zhuǎn)換為類型值才

參與運(yùn)算。

參考答案:整型

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

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

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

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

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

18.寫出下列表達(dá)式的求值結(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.寫出下列表達(dá)式的求值結(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é)式時(shí)應(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.表達(dá)式??!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ù)組元素默認(rèn)的初值為。

參考答案: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.以下程序的運(yùn)行結(jié)果是

main()

{intx,y,z;

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

x=xy&&z;

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

)

參考答案:1,0

31.

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

main()

{intx=3;

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

)

該程序的輸出是。

參考答案:210

32.

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

#include"stdio.h”

voidmain()

{ints=0,k=0;

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

}

該程序的輸出是。

參考答案:0136

33.閱讀以下程序,寫出程序運(yùn)行的結(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.下面程序的運(yùn)行結(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ū)斎氲膬蓚€(gè)整數(shù),按從大到小順序輸出。請?jiān)凇尽績?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)的素?cá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個(gè)整數(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.編程題:從鍵盤讀入一個(gè)字符,判斷并輸出其屬于數(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è)計(jì)基礎(chǔ)第3次作業(yè)

1.

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

3.9

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

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

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

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

參考答案:

(1)2.5

(2)3.5

2.

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

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

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

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

參考答案:

寫出以下賦值表達(dá)式運(yùn)算后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輸入一個(gè)華氏溫度,要求輸出攝氏溫度。

公式為

輸出要求有文字說明,取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寫出以下各邏輯表達(dá)式的值。設(shè)a=3,b=4,c=5。

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

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

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

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

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

參考答案:

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

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

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

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

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

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

5.

課內(nèi)作業(yè)題:編程實(shí)現(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編程實(shí)現(xiàn)

計(jì)算£期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è)計(jì)基礎(chǔ)第4次作業(yè)

1.

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

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

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

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

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

negn-統(tǒng)計(jì)負(fù)數(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)計(jì)其中的英文字母個(gè)數(shù)。

提示:即輸入到字符'\n'時(shí)停止輸入

參考答案:

^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時(shí)停止,求輸入的非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:計(jì)算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.計(jì)算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個(gè)100分制成績(用整型),計(jì)算并輸出平均成績,要求輸出精確到兩位小數(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計(jì)算Fibonacci數(shù)列:1,1,2,3,5,8,......的前n個(gè)數(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.編程,把個(gè)位數(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),公元五世紀(jì))

參考答案:

分析:設(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從鍵盤上為一個(gè)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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論