C語言程序設(shè)計(jì)的試題及答案(782)_第1頁
C語言程序設(shè)計(jì)的試題及答案(782)_第2頁
C語言程序設(shè)計(jì)的試題及答案(782)_第3頁
C語言程序設(shè)計(jì)的試題及答案(782)_第4頁
C語言程序設(shè)計(jì)的試題及答案(782)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計(jì)的試題及答案 int huiwen(int n) int a6,i=0,j; while (n!=0) /從第一個(gè)開是放元素 i+; ai=n%10; n=n/10; for(j=1;j方法二、#include int rev(int a);- 1 分 void main() int x, y,i=0; for(x=1;x=0;i-) printf(%1d,ai); printf(n); 10. #include stdio.h int ni(int x,int a) /返回值為數(shù)的位數(shù) int n=-1; while(x!=0) n+; an=x%10; x=x/10; ret

2、urn n; void main() int x,a20,i,n; printf(input xn); scanf(%d,&x); n=ni(x,a); for(i=0;in)n); scanf(%d,%d,&m,&n); if(m=n) zuhe=jch(m)/(jch(n)*jch(m-n); printf(%d,%d 的組合為:%d,m,n,zuhe); 13. #include stdio.h void serach(int a,int x) int i; for (i=0;i10;i+) if(ai=x) printf(Foundn); return ; printf(Not fou

3、nd!n); void main() int i,a10,x; printf(input 10 integers n); for (i=0;i10;i+) scanf(%d,&ai); printf(input xn); scanf(%d,&x); serach(a,x); 14. #include stdio.h #include string.h typedef struct char no10; int score; studtype; void search(studtype a,char xno) int i; for (i=0;i20;i+) if(strcmp(ai.no,xno

4、)=0) printf(%dn,ai.score); return ; printf(Not found!n); void main() studtype stu20; char xno10; int i; printf(input 20 no,scoren); for (i=0;i20;i+) scanf(%s%d,stui.no,&stui.score); printf(input xnon); scanf(%s,xno); search(stu,xno); 15. 編程實(shí)現(xiàn):從鍵盤任意輸入某班 20 個(gè)學(xué)生的姓名和成績,輸出最高分及不及格學(xué)生的 人 數(shù)。要求分別用兩個(gè)自定義函數(shù)求最高分和

5、不及格人數(shù)。 #define N 20 #include typedef struct char name10; int score; datatype; int max(datatype stu); int num(datatype stu); void main() datatype stuN; int i,max_score,n; /*姓名*/ /*成績*/ /*最高分函數(shù)聲明*/ /*不及格人數(shù)函數(shù)聲明*/printf(請輸入 %d 名職工姓名 成績:n, N); for(i=0;istum.score)m=i; return stum.score; int num(datatype

6、stu) int i,n=0; for(i=0;i16. 編程實(shí)現(xiàn):輸入 2 個(gè)降序排列的整數(shù)數(shù)列,將這兩個(gè)數(shù)列合并存放到另一個(gè)數(shù)組中,要 求 每個(gè)數(shù)都一次到位,不得在新數(shù)組中重新排序。要求數(shù)列合并通過自定義函數(shù)來實(shí)現(xiàn)。 #define M 4 #define N 5 #include void merge(int a,int b,int c); void main() int i,aM,bN,cM+N; printf(請輸入 %d 個(gè)降序排列的整數(shù):n, M); for(i=0;ivoid merge(int a,int b,int c) int i,j,k; i=0;j=0;k=0; wh

7、ile(ibj) ck+=ai+; else ck+=bj+; while(i17. 編程實(shí)現(xiàn):輸入 N 名職工的姓名及計(jì)算機(jī)水平考試的成績,輸出及格人數(shù)和及格的職工 信 息。要求:職工信息的輸入和輸出分別通過自定義函數(shù)來實(shí)現(xiàn)。 #define N 10 #include /#include typedef struct char name10; float score; datatype; void input(datatype work); void print(datatype work); void main() datatype workN; input(work); print(w

8、ork); void input(datatype work) /*input 函數(shù)定義*/ int i; printf(請輸入 %d 名 學(xué)生的姓名 成績:n, N); for(i=0;ivoid print(datatype work) /*print 函數(shù)定義*/ int i; for(i=0;i60)printf(%10sn,); 18. 編程實(shí)現(xiàn):從鍵盤輸入 10 名學(xué)生的信息,包括學(xué)號、姓名、成績,用一個(gè)排序函數(shù) sort 完成學(xué)生成績降序排列,并輸出學(xué)生排序后的結(jié)果。 #define N 10 #include /#include typedef char n

9、um20; char name20; float score; stutype; void input(stutype stu); void sort(stutype stu); void print(stutype stu); int main() stutype stuN; input(stu); sort(stu); print(stu); return 0; void input(stutype stu) /*input 函數(shù)定義*/ int i; printf(請輸入 %d 名學(xué)生信息(學(xué)號 姓名 成績):n, N); for(i=0;ik=i; for(j=i+1;jprintf(

10、*名次 學(xué)號 姓名 成績*n); for(i=0;i19. /編程實(shí)現(xiàn):任意輸入一組不多于 20 個(gè)的升序排列的若干個(gè)整數(shù),任意輸入不多于 10 個(gè) 的整數(shù)(-1 作為輸入結(jié)束標(biāo)志) ,將其插入到該序列中,使其依然有序。要求:通過自定義 函數(shù)實(shí)現(xiàn)將一個(gè)整數(shù)插入到一個(gè)有序序列中,使其依然有序。 #include void ins(int a,int*n,int x); void main() int a30,x,m,i; m=-1; printf(輸入一組不多于 20 個(gè)的升序排列的若干個(gè)整數(shù),-1 作為輸入結(jié) 束標(biāo)志n); scanf(%d,&x); while(x!=-1) m+; am=x

11、; scanf(%d,&x); printf(輸入一組不多于 10 個(gè)的升序排列的若干個(gè)整數(shù), -1 作為輸入結(jié)束標(biāo)志n); scanf(%d,&x); while(x!=-1) ins(a,&m,x); scanf(%d,&x); for(i=0;ix&i=0) ai+1=ai; i-; ai+1=x; (*n)+; 20. 一個(gè)班級有 30 個(gè)學(xué)生,每個(gè)學(xué)生有學(xué)號、姓名及數(shù)學(xué)、語文、計(jì)算機(jī)成績、平均成績。 要求編程實(shí)現(xiàn)以下功能: 1) 從鍵盤上輸入 30 個(gè)學(xué)生的信息,平均成績通過公式:平均成績=(數(shù)學(xué)+語文+計(jì)算 機(jī) )/3 計(jì)算得出。 2)輸出所有平均成績大于等于 85 的學(xué)生姓名(要

12、求用自定義函數(shù)實(shí)現(xiàn)該功能)。 #include stdio.h #define n 30 typedef struct char no11,name9; int math,chiness,comp; float ave; studtype; void out(studtype a) int i; for (i=0;i=85)printf(%10sn,); void main() studtype stun; int i; printf(input no,name,math,chiness,computern); for (i=0;i第七章 數(shù)組 一.填空 1. 數(shù)組是由固定數(shù)目的

13、()的變量按一定順序排列而構(gòu)成的。 )個(gè)字節(jié)2. 設(shè)有數(shù)組定義:char array=“China” ;則數(shù)組所占的存儲(chǔ)空間為( 。 3. 一個(gè)二維字符數(shù)組 a1020能夠存儲(chǔ)( )個(gè)字符串。4. 假定在一維數(shù)組 b10中,元素 b5的指針為 p,則 p+4 所指向的元素為( 5. 一維數(shù)組的下標(biāo)從( )開始。 )。) 。6. 設(shè)有數(shù)組 a10;則首地址可以寫成 (7. 設(shè)有數(shù)組 int a10, 數(shù)組元素 a5用指針表示的形式是( 8. 設(shè)有數(shù)組 int a1015, 數(shù)組元素 a53用指針表示的形式是( 9. 定義 3 行 4 列的整型二維數(shù)組 a 的語句是( ) 。 10. 定義 int

14、 b =5,6,7,8, y, *p=b; 執(zhí)行 y=*p+ 以后, y 的值為( 11. 按下面的語句定義數(shù)組 a 后,a 20 的值為( int a32=2,4,6,8,10; )。 )。 ) 。) 。12. 假設(shè)要把“student! ”存入一個(gè)字符數(shù)組,則該數(shù)組長度應(yīng)該至少為( 。 13. 在 C 語言中,如果采用語句 int a23 = 1,2,3,4,5 完成一個(gè)二維數(shù)組的定義和初 始化,那么 a01 的值為( ) 。 14. 在 C 語言中,如果采用語句 int a23 = 1,2,3,4,5 完成一個(gè)二維數(shù)組的定義和初 始化,再定義 int *b = a0,那么 *(b+2)

15、的值為 ( ). 15. 若 int a 3=1,2,3,4,5,6,7,8,9;則*(*a+1)的值是( 16. 按下面的語句定義數(shù)組 b 后,b21的值為( int b2=2,1,4,3,5,6。 ) 。 ) 。)17. 設(shè) int a=0,1,2,3,4,5,6,7,8,9,*p=a,則*p+4=( 18. 定義 2 行 3 列 5 層的整型三維維數(shù)組 a 的語句是( 19. 若有 int a3=10,12,30;則*(a+2)+3= ( 20. 若有 int a3=10,12,30;則 a+1 是() 。 ) 。 ) 。 )的地址。21. 假設(shè) int 型變量占兩個(gè)字節(jié)的存儲(chǔ)單元,若有

16、定義:int x10=0,2,4; 則數(shù)組 x 在內(nèi)存 中所占字節(jié)數(shù)為 ( ) 。 22. 若有定義 int a3=1,2,3,4,5,6,7;,則 a 數(shù)組第一維的大小是( ) 。 23. 數(shù)組 int a33;共定義了( 24. C 語言中,二維數(shù)組的存放方式為按( )個(gè)數(shù)組元素。 )存放。 (填“行”或“列” )25. 定義 int a10=11,12,13,14,15, *p=&a5; 假設(shè)&a0和&a1的值分別是 0x2000 和 0 x2004,則 p 的值是( ) 。 26. 定義 int a10=11,12,13,14,15, *p=&a3; 假設(shè)&a0和&a1的值分別是 0x

17、2000 和 0 x2004,則表達(dá)式 a0+*p 的值是( ) 。 27. 對一維數(shù)組初始化時(shí),若有 int ) 。 a10=0,1,2,3,4,則 a5的值是(28. 已知:int a3=1,3,5,7,9,11; 此時(shí)數(shù)組元素 a12的值為( ) 。 29. 定義 char a7= abcdef; char b4= ABC,執(zhí)行語句 strcpy(a,b);printf(%s,a), 輸出結(jié)果是( ) 。 30. 定義 int a10=1,3,5,7,9,11,13,15,17,19,*p=a;執(zhí)行語句 printf(%d,*p+7);輸出 結(jié)果是( ) 。 31. 已知 int a5

18、= 2, 3, 4, 5, 6 ; int *p = a+2; 則表達(dá)式 *p*a3 的值是( ) 。 32. 定義 char a7= 123456; char b4= ABC,執(zhí)行語句 strcpy(a,b); printf(%c,a 6),輸出結(jié)果是( ) 。 33. 對整形數(shù)組 int a5=1,2,3; 則執(zhí)行語句 a2=a2+a1*(*(a+3); a2的值為( )34. 定義 char a5=65,66,67,*p=a; 則執(zhí)行語句 printf(%s,p+1);輸出結(jié)果為( )。 35. 對于定義 struct TData int a2; char c; ; struct TDa

19、ta slist*3+=,1,2-,A-,3,4-,B-; slist1.a0的值為( )。36. 已知:int a3=1,3,5,7,9,11; 則*(a1+1)的值為( ) 。 37. 已知:int a23=1,3,5,7,9,11,13,*p; p=&a2; p=p+3; 則*p 的值為( )。 38. 定義 char a7= 123; char b4= ABC,執(zhí)行語句 strcat(a,b); printf(%s,a),輸 出結(jié)果是( ) 。 39. 對整形數(shù)組 int a5=3,3,3; 則執(zhí)行語句 a2=a10?(a4+1):(a2+2); a2的值 為( ); 40. 定義 i

20、nt a =5,6,7,8, *p=a; 執(zhí)行 *(p+); 以后, a0的值為( )。 解答: 1. 同類型 2. 6 3. 10 4. b9 5. 0 6. a 7. *(a+5) 8. *(*(a+5)+3)9. int a34 10. 5 11. 10 12. 9 13. 2 14. 3 15. 2 16. 6 17. 4 18. int a235 19. 33 20. a1 21. 20 22. 3 23. 9 24. 行 25. 0x2014 26. 25 27. 0 28. 11 29. ABC 30. 831. 20 32. 6 33. 3 34. BC 35. 4 36. 5

21、 37. 11 38. 123ABC 39. 1 40. 5 二.閱讀程序?qū)懡Y(jié)果 1. #include void main() int a23=3,2,7,4,8,6; int i,j,m=0; for(i=1;i=1;i+) for(j=0;j=i;j+) m=m+aij; printf(m=%d,m); 2. #include void main(void) int array10 = 1, 2, 4, 5, 6, 0, 0, 0, 0, 0, i; printf(n); for (i=0; i=2; i-) arrayi = arrayi-1; array2 = 3; for (i=0

22、; i10; i+) printf(%3d , arrayi);printf(n); 3. #include void main(void) char a=ABCDEFGH,b=abCDefGh; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;k+) if (*(p1+k)=*(p2+k) printf(%c,*(p1+k); printf(n); 4. #include #include void main() char a30=Hello ; char b10=Students; char c10=Teachers; strcat(a,c); p

23、rintf(%s,%s.n,a,b); 5. #include void inv(int x,int n); void main() int i, a10=3,7,9,11,0,6,7,5,4,2; inv(a, 10); printf(The array has been reverted.n); for(i=0;i10;i+) printf(%d,ai); printf(n); void inv(int x, int n) int t,i,j,m=(n-1)/2; for(i=0;i=m;i+) j=n-1-i; t=xi; xi=xj;xj=t; 6. #include void mai

24、n() float a33=1,2,3,4,5,6,7,8,9,sum=0; int i; printf(please input rectangle element:n); for(i=0;i3;i+) sum=sum+aii; printf(duijiaoxian he is %6.2f,sum); 7. #include int main() int i=1,n=3,j,k=3; int a5=1,4,5; while(iai) i+; for(j=n-1;j=i;j-) aj+1 = aj; ai = k; for(i=0;i=n;i+) printf(“%2d”,a*i+); ret

25、urn 0; 8. #include void main() int a10=0,1,2,3,4,5,6,7,8,9, b10,i,sum=0; bi=ai-1+ai; sum=sum+bi; for(i=1;i10;i+) if(i%3=0) sum=sum+bi; printf(sum=%3d,sum); 9. #include void main() int a5=2,6,1,3,4,n=5,i,j,t; for(i=0,j=1;jfor(i=1;i10;i+)if(ai void funa(int x,int n); void main() int i, a5=3,7,9,11,0; funa(a, 5); for(i=0;i5;i+) printf(%d,ai); printf(n); void funa(int x, int n) int t,i,j,m=(n-1)/2; for(i=0;i=0;i-)scanf(%d,&ai); for(i=0;i5;i+) ai=ai+10; for(i=0;i5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論