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

語言程序設計練習題 2

時間:2019-05-14 10:52:57下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《語言程序設計練習題 2》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《語言程序設計練習題 2》。

第一篇:語言程序設計練習題 2

匯編語言程序設計練習題

一、單項選擇題:在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無分。

1.CPU要訪問的某一存儲單元的實際地址稱()C

A.段地址

B.偏移地址

C.物理地址

D.邏輯地址

2.某存儲單元的物理地址是12345H,可以作為它的段地址有()D

A.2345H

B.12345H

C.12340H

D.1234H 3.執行后使BX=0的同時也使CF=0,OF=0的指令是()A

A.XOR BX,BX

B.OR BX,BX

C.AND BX,BX

D.CMP BX,BX 4.循環控制指令LoopNZ/LoopNE控制循環繼續執行的條件是()B

A.CX≠0且ZF=1

B.CX≠0且ZF=0

C.CX≠0或ZF=1

D.CX≠0或ZF=0 5.在執行DAA指令,當高四位BCD碼校正時產生進位,如要把此進位值送入AH中,對這進位值的操作應是()C

A.DAA校正指令的功能已自動加在AH中

B.進位值在AF中,校正后根據AF內容再加在AH中

C.進位值在CF中,校正后根據CF內容再加在AH中

D.進位值在AL最高位上,校正后根據AL最高位內容再加在AH中

6.AND,OR,XOR,NOT為四條邏輯運算指令,下面的解釋正確的是()C

A.指令XOR AX,AX執行后,AX內容不變,但設置了標志位

B.指令OR DX,1000H執行后,將DX最高位置1,其余各位置0

C.指令AND AL,OFH執行后,分離出AL低四位

D.NOT AX,執行后,將AX清0 7.在執行下列指令時,需要使用段寄存器DS的指令是()D

A.STOSW

B.ADD AL,CL

C.NEG BX

D.INC DA[BX] 8.無論BH中原有的數是奇數或偶數,若要使BH中的數一定為奇數,應執行的指令是()B

A.ADD BH,01H

B.OR BH,01H

C.XOR BH,01H

D.TEST BH,01H 9.完成對CL寄存器的內容乘以4的正確操作是()C

A.ROL CL,1

B.MUL 4

ROL CL,1

C.SHL CL,1

D.MOV CL,2

SHL CL,1

SHL CL,CL 10.下面各傳送指令中,正確的是()C

A.MOV [DI],[SI]

B.MOV[DX+DI],AL

C.MOV WORD PTR [BX],0100H

D.MOV AL,BX 11.匯編語言語句格式中對名字項的規定如下,請找出其中錯誤的說法()BD

A.名字的第一個字符可以是大寫英文字母及小寫英文字母

B.名字的第一個字符可以是字母、數字及、@、_

C.名字的有效長度≤31個字符

D.在名字中不允許出現$ 12.要實現使BETA的值為56,應采用語句為()C

A.BETA DB 56

B.BETA DB 56H

C.BETA EQU 56

D.BETA EQU 56H 13.REPZ CMPSW指令,重復執行的終止條件是()A

A.CX=0或ZF=0

B.CX=0且ZF=0

C.CX=0或ZF=1

D.CX=0且ZF=1 14.下面程序段執行后,AL中的內容是()B

MOV AX,8833H

ADD AL,AH

DAA

A.21

B.21H

C.0C1H

D.0DDH 15.比較兩個帶符號的數A、B,當A=B時程序轉移,測試的條件為()A

A.ZF=1

B.ZF=0

C.SF=1

D.SF=0 16.檢查二個無符號數的關系,若要實現AL≥BL時分支去LOP1處,那么在“CMP AL,BL”指令后應跟的分支指令是()A

A.JNC LOP1

B.JA LOP1

C.JC LOP1

D.JGE LOP1 17.在下列串操作指令中,同時使用源串和目的串地址指針的指令是()D

A.STOSW

B.LODSW

C.SCASW

D.CMPSW 18.設AL=0AH,下列指令執行后能使AL=05H的是()C

A.NOT AL

B.AND AL,0FH

C.XOR AL,0FH

D.OR AL,0FH 19.DA1 DW‘AB’,‘CD’,‘EF’,‘GH’()D ┇

MOV AX,DA1+3 指令執行后AX中的內容是

A.‘EF’

B.‘CD’

C.‘BC’

D.‘FC’

20.使用DOS系統功能調用時,使用的軟中斷指令是()

A.INT 21

B.INT 10H

C.INT 16H

D.INT 21H

二、填空題請在每小題的空格中填上正確答案。錯填、不填均無分。

1.十六進制數0FFF8H表示的十進制正數為________,表示的十進制負數為________。

2.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,[SI+COUNT]中,源操作數的有效地址EA為________,其物理地址為________。

3.CPU的標志寄存器中標志位,可以分為兩大類,其中一類稱為________標志位,另一類稱為________標志位。

4.當標志位________=1時表示無符號數運算產生溢出,而當標志位________=1是表示帶符號數運算產生溢出。

5.如JMP指令采用段間間接尋址,那么由4個相鄰字節單元中存放有轉移地址,其中前兩個字節存放的是________,而后兩個字節存放的是________。

6.在串操作程序中,通常在重復前綴指令REPZ或REPNZ后,選用的串操作指令是________或________才有實際意義。

三、簡答題

1.已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分別指出下面各指令中存儲器操作數的物理地址。(1)MOV AL,[BX](2)MOV CS:[BX+DI],AH

2.0P1 DB 1,2 0P2 DW 3412H,5678H ┇

MOV AX,OP1+1;字單元(OP1+1)AX MOV BL,OP2+1;字節單元(OP2+1)BL 上述二條傳送語句有語法錯誤,請根據注釋字段的說明,將其改正。

3.下列語句在存儲器中分別為變量分配多少字節?

(1)AD2 DW 10 DUP(?),10(2)AD3 DD 100 DUP(?)

4.簡述下面兩條指令分別是什么語法錯誤? MOV [BX],[SI] MOV AX,DL

四、程序分析題 1. MOV DL,AL NOT DL TEST DL,04H JE NEXT ┇ NEXT:?

若上述程序段執行時產生分支,說明AL中的數第幾位一定為1?程序段執行后CF是多少?

2.DA1 DB‘ABCDEFGHI’ DA2 DB 9 DUP(0)

LEA SI,DA1 LEA DI,DA2 MOV CX,9 CLD LOP: LODSB SUB AL,10H STOSB LOOP LOP...試問:①寫出程序執行后DA2各字節中的數據。

②保持程序功能情況下,程序中 可否改寫為

3.已知:BX=4567H NEG BX INC BX NEG BX DEC BX 程序段執行后,BX=________,CF=________。

4. MOV BL,64H MOV CL,03H XOR AX,AX AGAIN:ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN 問:(1)該程序段完成的功能是:

(2)AX=________。

5.已知數據段中定義

DAT1 DB 12H,34H,56H,78H MOV CX,0 MOV AX,WORD PTR DAT1 MOV CL,DAT1+3 當程序段執行完后AX=________,CX=________。

6.DA1 DB 83H,72H,61H,94H,5AH ┇

MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL 上述指令序列執行后,AL=_______,CL=_______。

五、程序填空題(本大題共2小題,每小題6分,共12分)

1.在NUMW單元存放有一個0-65535范圍內的整數,將該數除以500,商和余數分別存入QU1和REM單元,請在空行處各填上一條指令完善該程序。

MOV AX,NUMW _____________ XOR DX,DX DIV BX MOV QUI,AX _____________ 2.某程序欲用單個字符顯示的2號功能調用去顯示STRING中的字符串‘COMPUTER’(不顯示字符‘$’?。?試在空白處填上適當的一條指令。STRING DB‘COMPUTER’,‘$’

MOV BX,0FFSET STRING LOP:MOV DL,[BX] MOV AH,02H INT 21H ____________________ ____________________ JNE LOP

六、編程序題

1.試編制一程序段,用串操作指令實現以DA_BY為首址的20H個字節單元中存放相同字符‘Y’(設DA_BY存儲區已有ES指向)。

2.試編制一源程序,統計DA1字單元中含0的個數,如統計的個數為奇數,則將進位位置1,否則進位位清0。DATA SEGMENT DA1 DW XXXX DATA ENDS

匯編語言程序設計練習題答案

一、1、C;

2、D;

3、A;

4、B;

5、C;

6、C;

7、D;

8、B;

9、C;

10、C;

11、B;

12、C;

13、A;

14、B;

15、A

16、C;

17、D;

18、C;

19、D;20、B

二、1、+65528;-32760 2、20A8H;11488H

3、狀態;控制

4、CF;OF

5、IP;CS

6、STOS;CMP

三、1、(1)21357H;(2)43357H

2、MOV AX,WORD PTR(OP1+1)MOV BL,BYTE PTR(OP2+1)

3、(1)22;(2)400

4、MOV指令不能在兩個存儲器操作數之間進行;

操作數類型不匹配

四、1、第2位;CF=0 2、123456789;不能更改

3、BX=4565H;CF=1

4、AX=012CH,將AX內容乘3送BX中

5、AX=3412H,CX=0078H

6、AL=0A0H,CL=03H

五、1、MOV BX,500 MOV REM,DX

2、INC BX CMP byte ptr [BX],24H

六、1、LEA DI,DA_BY MOV CX,32 MOV AL,‘Y’ CLD REP STOSB

2、CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,DA1 MOV CX,16 XOR BL,BL AGAIN: MOV AL,[SI] HL AL,1 JC NEXT INC BL NEXT:INC SI LOOP AGAIN TEST BL,01H JNE L1 CLC JMP DONE L1: STC DONE: MOV AH,4CH INT 21H CODE ENDS END START

第二篇:C語言程序設計

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 輸入一個浮點型數據,有效數字不會超過十進制的6位。

Output 輸出為兩行。

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

Sample Input 3

Sample Output Area: 28.260000 Perimeter: 18.840000

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

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個數的平均值。

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

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

Sample Input 1 2 3 Sample Output 2.000

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

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個字符(不含雙字節字符),分別輸出每個字符的十進制值(ASCII碼)、八進制值和十六進制值。

Input 輸入為3個字符。

Output 輸出為3行。

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

Sample Input 0 A

Sample Output 048 060 030 032 040 020 065 101 041

HINT 了解字符值的存儲和整型的關系。

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: 算術基本運算 Description 計算兩整數x和y(0

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

Output 輸出為多行,按順序每行輸出x,y的和、差、積、商、余數、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語言中有自增運算++、自減運算--,并且可以前置和后置。

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

Input 一個整數a,a是很小的整數。

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

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

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 求整型數據和浮點型數據的絕對值。

Input 輸入兩個數,第一個是整數,第二個是浮點數。

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

Sample Input-1 1

Sample Output 1 1

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

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: 奇數還是偶數? Description 輸入一個整數,判讀它是奇數還是偶數。

Input 輸入只有一行,為一個100以內的正整數。

Output 輸出為一行。

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

Sample Output even

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

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 商店規定:消費滿n元,可以打八八折。設某件商品標價m元,輸入購買的件數x,計算出需要支付的金額(單位:元),精確到分。

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

Sample Input 95 300 4

Sample Output 334.40

HINT 了解浮點型的輸出控制,注意整型和浮點型混合運算過程中的數據類型轉換。

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 輸入一個正整數的年份,判斷是否為閏年。

Input 輸入只有一行,為一個10000以內的正整數。

Output 輸出為一行。

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

Sample Input 2010

Sample Output No

HINT 了解邏輯運算符和關系運算符。

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: 水仙花數 Description 如果一個三位十進制數等于其各位數字的立方和,則稱這個數為水仙花數。如:13+53+33=153。

Input 一個整數x,100<=x<=999。

Output x是水仙花數,則輸出“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: 三個數比較大小 Description 從鍵盤上輸入0~100之間的三個數,按從小到大的順序輸出。

Input 輸入只有一行,為三個整數。

Output 按從小到大輸出這三個數。

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個正整數a、b和c,按照如下規則求和: 如果這個數字是偶數,則累加到和中;

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

Input 三個正整數,均在100以內。

Output 一個和。

Sample Input 2 3 5

Sample Output 12

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

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 經過四年的學習,你決定報考我國著名的“285”高校之一的北青大學,經過認真的復習,殘酷的考試,終于知曉了自己的考試成績,也知道了北青大學的錄取分數線,請你編程判斷,自己過線了嗎? Input 輸入有2行,第一行有4個正整數,分別表示三門課程的分數線以及總分分數線。第二行有3個非負整數,分別表示你考的三門課程的成績。

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

Sample Input 70 80 70 240 80 80 82

Sample Output congratulations

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

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 輸入的第一行是一個整數N,后面有N對整數a和b,每對a和b占一行,a,b用空格分開。

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

Sample Input 2 1 2 10 20

Sample Output 3 30

HINT N給出了測試樣例數,用for循環處理方便。

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 輸入有多對整數a和b組成,每對a和b占一行,a,b用空格分開。

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

Sample Input 1 2 10 20

Sample Output 3 30

HINT OJ系統上測試輸入結束符為EOF(End Of File),其值為-1。用scanf()把文件所有內容讀完后,會讀到EOF,所以可以用來判斷輸入是否完成,測試時可以用Ctrl+Z產生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: 按順序輸出三個數 Description 對于輸入的3個整數,按照從小到大的順序輸出。

Input 輸入3個int類型內的整數,兩兩之間用一個空格隔開。

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

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 判斷輸入整數的奇偶性。

判斷奇偶數 Input 輸入為一個整數。

Output 輸出只有一行,代表判斷結果。如果輸入的整數n是一個偶數,輸出: 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: 判斷兩個整數的大小關系 Description 輸入2個整數a和b,如果a>b,則輸出1,否則輸出0。

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

Output 表示a>b的結果:如果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 把百分制的考試成績轉換成五級制的成績: 90~100:Excellent 80~89:Good 70~79:Average 60~69:Pass 0~59:Failing

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

Input 輸入多行,每行一個整數。

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的倍數或n的倍數、但不是

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

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

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

Sample Input 15 2 3

Sample Output 2 3 4 8 9 10 14 15

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

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: 兩整數相加減 Description 計算a+b和a-b。

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

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

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 需要判斷給定的一個整數是否同時滿足如下三個條件: 1.它是一個完全平方數。2.它是一個偶數。3.它是一個正數。

注:若一個數能表示成某個自然數的平方的形式,則稱這個數為完全平方數。例如:

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范圍內的整數。

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

Sample Input 100

Sample Output yes

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

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

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)“接受輸入后判斷其等級并顯示出來等級: 優:90<=分數<=100 良:80<=分數<90 中:60<=分數<80 差:0<=分數<60

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

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

Sample Output grad must between 0 and 100 優

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(”優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類型的正整數N,是學生人數的上界,即:該校學生數不超過N。

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

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: 正負數各有幾個? Description 輸入若干個整數,求其中正數、負數的個數。

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

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

Sample Output 5 5

HINT 貌似還有一種叫做0的數。

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 輸入有多對整數a和b組成,每對a和b占一行,a,b用空格分開。當測試樣為0 0時表示輸入結束,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 輸入有多對整數a和b組成,每對a和b占一行,a,b用空格分開。

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

Sample Input 1 2 10 20 15 35

Sample Output 3 30 50

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

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個數的最大值和最小值 Description 找出n個數中最大的數和最小的數,并將它們的值輸出出來。

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

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

Sample Input 3 0 1-1

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

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以內的素數 Description 素數是只能被1和自身整除的正整數,根據數學定義1不是素數。素數也叫質數。

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

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

輸出的所有數在兩行“=====”之間。

Sample Input 2 12

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

HINT 利用素數的數學規律可以很容易的解出此題,題目給出的數據范圍是關鍵。

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: 是否構成三角形? Description 給出三個整數,代表三條邊的長度,判斷這三條邊的長度是否能構成一個三角形?

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

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

Output 如果三條邊能構成三角形,輸出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: 簡單的整數排序 Description 對給出的若干整數按從小到大排序。

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

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

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 排序前必須把所有的整數都存儲下來。因為只有最多1000個數,1秒的時間足夠任何排序算法運行處結果來。

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一起去購物。假定她們逛的街是一條直線,而商鋪是這條直線上的一些點。她們將車停在該直線最左端的店鋪處,然后從左向右開始逛每一個店鋪,然后從最右邊的店鋪再返回到停車處。你的任務是計算她們走了多少路。

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。部分程序已經給出,請填充其中的空白語句,并提交填充后的完整程序。

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

Output 輸出為N行,每個測試用例的計算結果占據一行。每行的格式為: case i:sum=s.其中i表示測試用例的編號(從1開始),s是該測試用例對應的累加和(設不超過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 在一行內按順序輸出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是密碼學愛好者,他們在聊天時經常使用一些暗語。他們使用的一種最簡單的暗語是:將要說的每句話里面的英文字母變成這個字母之后的某個字母?,F在要求你寫一個程序,將一個字母變成它之后的某個字母。

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

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

如: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 編寫一個程序,模擬用戶登錄系統的密碼驗證過程。系統提供給用戶的密碼長度最長為20個字符,若密碼輸入錯誤可以再次輸入。但為了保證用戶密碼安全,若連續輸入密碼錯誤超過5次就會鎖定賬號一段時間。

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

Output 每次輸入錯誤的密碼,輸出一個“Wrong!”,若輸入的密碼為正確的,輸出一個“Welcome!”,并結束密碼測試。若前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(”Out of limited!n");

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

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

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

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

第三篇:C 語言程序設計

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

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

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

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

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

第四篇:C語言程序設計教程第五章練習題題目

單選題

1、關于數組的定義與初始化,下列哪一項是錯誤的()A.int arr[5] = {1,2,3,4,5};B.int arr[] = {1,2,3,4,5};C.int arr[5] = {1,2,3};D.int arr[5] = {1,2,3,4,5,6};

2、在定義數組intarr[10]后,下列選項中對arr的引用正確的是()A.arr[10] B.arr[6.3] C.arr(6)D.arr[0]

3、在C語言中,引用數組元素時,其數組下標的數據類型允許是()A.整型常量 B.整型表達式

C.整型常量或整型表達式 D.任何類型的表達式

4、若intarr[5] = {1,2,3};則arr[2]的值為()A.1 B.2 C.3 D.null

5、在執行intarr[][3] = {1,2,3,4,5,6}:語句后,arr[1][0]的值為()A.4 B.1 C.2 D.5

6、關于二維數組,下列選項能正確定義并賦初值的是()A.int n = 5,b[n][n];B.int a[1][2] = {{1},{3}};C.int c[2][] = {{1,2},{3,4}};D.int a[3][2] = {{1,2},{3,4}};

7、閱讀下列程序段: char s[18] = “a book!”;printf(“%.4sn”, s);其輸出結果為()A.a book!B.a book C.abo D.a

8、閱讀下列程序:

int a[4][4] = { { 1, 3, 5, }, { 2, 4, 6 }, { 3, 5, 7 } };

printf(“%d%d%d%dn”, a[0][0], a[1][1], a[2][2], a[3][3]);正確的輸出結果為()A.0650 B.1470 C.5430 D.輸出值不定

9、閱讀下面程序: int i;

int x[4][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };for(i = 0;i<4;i++)

printf(“%3d”, x[i][3-i]);下列選項中哪一項是正確的輸出結果()A.1 5 9 13 B.1 6 11 16 C.4 7 10 13 D.4 8 12 16

10、下列描述中不正確的是()。A.字符型數組中可以存放字符串

B.可以對字符型數組進行整體輸入、輸出 C.可以對整型數組進行整體輸入、輸出

D.不能在賦值語句中通過賦值運算符“=”對字符型數組進行整體賦值

11、以下定義語句中,錯誤的是()。A.int a[]={1,2};B.char *a[3];C.chars[10]=“test”;D.int n=5,a[n];

12、下列選項中,合法的數組定義是()。A.int a[]=“string”;B.int a[5]={0,1,2,3,4,5};C.char s=“string”;D.chara[]={0,1,2,3,4,5};

13、int類型變量在內存中占用四個字節,其有定義:int x[10]={0,2,4};那么數組x在內存中所占字節數是()。A.3 B.10 C.12 D.40

14、C語言中數組下標的下限是()。A.1 B.0 C.視具體情況 D.無固定下限

15、以下程序的輸出結果是()。void main(){

} int i, a[10];for(i=9;i>=0;i--)a[i]=10-i;printf(“%d%d%d”,a[2],a[5],a[8]);A.258 B.741 C.852 D.369

16、若有以下說明:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;那么數值為4的表達式是()。A.a[g-c] B.a[4] C.a['d'-'c'] D.a['d'-c]

17、C語言中數組名作為參數傳遞給函數,作為實在參數的數組名被處理為()。A.該數組的長度 B.該數組的元素個數 C.該數組中各元素的值 D.該數組的首地址

18、當調用函數時,實參是一個數組名,則向函數傳送的是()。A.數組的長度 B.數組的首地址

C.數組每一個元素的地址 D.數組每個元素中的值

19、以下程序的輸出結果是()。void main(){ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(“%d%d%d%dn”,a[0][3],a[1][2],a[2][1],a[3][0];} A.0650 B.1470 C.5430 D.輸出值不定

多選題

1、關于數組類型的定義,下列描述中正確的是()A.數組的大小一旦定義就是固定的 B.一個數組中的各元素類型可以不一樣 C.數組的下標類型為整型 D.數組元素的下標從1開始

2、下面對數組描述正確的是()A.數組的長度是不可變的

B.數組不能先聲明長度再不賦值 C.數組只能存儲相同數據類型的元素 D.數組沒有初始值

判斷題

1、在C語言中,只有一維數組和二維數組()。

2、數組的索引是從1開始的()。

3、數組屬于構造類型的數據()。

4、數組名的命名較為特別,它不符合標識符的命名規范()。

5、數組在初始化時不可以只賦值一部分,必須全部賦值初始化()。

6、對于一維數組,例如intarr[3];則arr[2]表示數組的第2個元素()。

7、數組的下標范圍是0-[數組長度-1]()。

8、二維數組進行定義與初始化時,行下標與列下標均不能省略()。

9、在程序設計中,一組具有相同數據類型的變量集合稱為數組()。

10、數組元素的下標用于表示元素在數組中的位置序號,該下標是從1開始的()。

11、數組元素下標的個數也稱為維數,根據維數的不同,可將數組分為一維數組、二維數組、三維數組、四維數組等()。

12、一維數組指的是只有一個下標的數組,用來表示一組具有相同類型的數據()。

13、數組初始化的常見方式有三種:直接對數組中的所有元素賦值、只對數組中的一部分元素賦值、對數組全部元素賦值但不指定長度()。

14、數組中的元素可以通過數組名和下標來引用()。

15、數組的下標都有一個范圍,即“0 ~ 數組長度”()。

16、初始化二維數組時,如果對全部數組元素置初值,則二維數組的第一個下標可省略,但第二個下標不能省略()。

填空題

1、C語言中數組名代表數組的()地址。

2、數組是一組具有()類型的數據的集合。

3、對于二維數組intarr[3][4],其中3為()下標,4為()下標。

4、若定義二維數組intarr[5][6];則數組的列下標的取值范圍為()。

5、二維數組是通過數組名和()來引用其元素的。

6、C語言中數組必須先()再使用。

7、二維數組的定義格式為()。

8、一維數組指的是只有一個()的數組,用來表示一組具有相同類型的數據。

9、數組的下標是用()括起來的,而不是圓括號。

10、假設定義一個3行4列的二維數組,那么共包含()個元素。

11、二維數組同一維數組一樣,也是通過()和下標的方式來引用數組元素。

12、假設定義數組int a[3][4],數組a可用的行下標范圍是(),列下標范圍是()。簡答題

1、請閱讀下面的程序,分析程序是否能編繹通過并正確運行,如果不能,說明原因;如果能,請寫出運行結果。void main(){ int i;chararr[5] = { 'h', 'e', 'l', 'l', 'o' };for(i = 0;i < 5;i++)

printf(“%c”, arr[i]);}

2、請閱讀下面的程序,在空白處填寫正確的代碼,只打印出數組偶數位上的元素。int main(){ int i;intarr[8] = { 1, 0, 1, 0, 1, 0, 1, 0 };for(i = 0;i < 8;i++){

;

printf(“%dn”, arr[i]);} return 0;}

3、請閱讀下面的程序,分析程序是否能編繹通過并正確運行,如果不能,說明原因;如果能,請寫出運行結果。void main(){ floatarr[6] = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6 };inti,t;t = arr[0];for(i = 0;i < 5;i++)

arr[i] = arr[i + 1];

arr[5] = t;for(i = 0;i < 6;i++)

printf(“%-6.2f”, arr[i]);}

4、請閱讀下面的程序,在空白處填寫正確的代碼,輸出數組中最大元素的下標。int main(){ int i, p;intarr[] = { 1,-3, 0,-9, 8, 5, 20, 3 };for(i = 0, p = 0;i < 8;i++){

if()

;} printf(“p = %dn”, p);return 0;}

5、請閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:刪除字符串s中的所有數字字符。void dele(char *s){ int n=0,i;for(i=0;s[i];i++)

if(_______)

s[n++]=s[i];s[n]=_______ }

6、請閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:在一個初始化數組中查找與x相同的元素,如果找到就將該元素置為-x。void main(){ int a[]={8,4,2,7,3,9},i,x;scanf(“%d”,&x);for(i=0;_______;i++)

if(a[i]==x)

_______ for(i=0;i<6;i++)

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

7、請閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:計算str所指字符串的長度,并作為函數值返回。intmystrlen(char *str){ int i;for(i=0;_______!='

主站蜘蛛池模板: 久久久久国产一区二区| 日韩精品射精管理在线观看| 日本高清二区视频久二区| 成人亚洲欧美在线观看| 亚洲精品久久久久久下一站| 成 人免费va视频| 久久精品a亚洲国产v高清不卡| 亚洲精品国产肉丝袜久久| 少妇高潮无套内谢麻豆传| 欧美日韩亚洲一区二区三区一| 国产女厕偷窥系列在线视频| 国产亚洲精品一品区99热| 麻豆精品秘?一区二区三区| 白又丰满大屁股bbbbb| 精品无码欧美黑人又粗又| 粗大挺进尤物人妻中文字幕| 热99re久久精品这里都是精品免费| 成年性生交大片免费看| 国产精品毛片大码女人| 一本色道久久综合一| 中文字幕人妻一区二区三区| 国产sm主人调教女m视频| 久久久国产精品亚洲一区| 亚洲av永久精品无码桃色| 蜜桃网站入口在线进入| 久久精品国产亚洲7777| 人妻无码一区二区视频| 亚洲国产精品综合久久网络| 久久久精品久久久久久96| 无码人妻精品一区二区三区在线| 国产乱色国产精品播放视频| 毛片免费视频| 18禁免费无码无遮挡网站| 成人免费视频?国产免费麻豆| 狠狠色婷婷久久综合频道毛片| 日本丰满少妇xxxx| 麻豆一二三区精品蜜桃| 日本真人边吃奶边做爽免费视频| 国产精品爽黄69天堂a| 国产精品无码永久免费不卡| 狠狠躁狠狠躁东京热无码专区|