海南大學C語言考試大題題庫_第1頁
海南大學C語言考試大題題庫_第2頁
海南大學C語言考試大題題庫_第3頁
海南大學C語言考試大題題庫_第4頁
海南大學C語言考試大題題庫_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、/*-【程序填空】-下面程序接受鍵盤上的輸入,直到按鍵為止,這些字符被原樣輸出,但若有連續(xù)的一個以上的空格時只輸出一個空格,請?zhí)?3)空使程序完整。-*/#include<stdio.h>void main( ) char cx , front='0' ;/*SPACE*/ while (【?】)!='n') if (cx!=' ') putchar(cx) ; if (cx=' ')/*SPACE*/ if (【?】)/*SPACE*/ putchar(【?】); front=cx ; /*-【程序填空】-del函數(shù)

2、的作用是刪除有序數(shù)組a中的指定元素x,n為數(shù)組a的元素個數(shù),函數(shù)返回刪除后的數(shù)組a元素個數(shù)。主函數(shù)調(diào)用del刪除5,輸出刪除后的數(shù)組,請?zhí)?3)空使程序完整。-*/#include<stdio.h>void main() int del (int a10,int n,int x); int x10=1,2,3,4,5,6,7,8,9,10; int i,y;/*SPACE*/ y=【?】; for(i=0;i<y;i+) printf("%d ",xi);int del (int a10,int n,int x) int p=0,i ; while (x&

3、gt;=ap&&p<n)/*SPACE*/ 【?】; for (i=p-1; i<n; i+)/*SPACE*/ 【?】; return (n-1) ;/*-【程序填空】-下面程序的功能是輸入10個數(shù),找出最大值和最小值所在的位置,并把兩者對調(diào),然后輸出調(diào)整后的10個數(shù)。請?zhí)睿?)空使程序完整。-*/#include<stdio.h>void main() int a10,max,min,i,j,k ; k=0;j=0; for (i=0; i<10; i+) scanf("%d",&ai);/*SPACE*/ 【?】=

4、a0; for (i=0; i<10; i+) /*SPACE*/ if (ai<min) min=ai;【?】; /*SPACE*/ if (ai>max) max=ai;【?】; aj=max;/*SPACE*/ 【?】; for (i=0; i<10; i+) printf("%d ",ai);/*-【程序填空】-以下程序的功能是計算函數(shù)f=x/y+y/z ,請?zhí)?3)空使程序完整。-*/# include <stdio.h>main ( )/*SPACE*/ 【?】; /*函數(shù)原型聲明*/ float x,y,z,f ; scan

5、f("%f,%f,%f",&x,&y,&z);/*SPACE*/ f = fun (【?】);/*SPACE*/ f += fun (【?】); printf("f=%f",f);float fun(float a,float b) return (a/b) ;/*-【程序填空】-以下程序是將字符串b的內(nèi)容連接字符數(shù)組a的內(nèi)容后面,形成新字符串a(chǎn),請?zhí)?2)空使程序完整。-*/#include<stdio.h>void main ( ) char a40="Great ", b ="Wal

6、l" int i=0,j=0 ; while (ai!='0') i+ ;/*SPACE*/ while (【?】) ai=bj ; i+ ; j+ ; /*SPACE*/ 【?】; printf("%sn",a);/*-【程序填空】-下面程序用"插入法"對數(shù)組a進行由小到大的排序,請?zhí)?3)空使程序完整。經(jīng)典算法提示:簡單插入排序算法的基本思想使將數(shù)組處理n-1次,第k次處理是將第k個元素插入到目前的位置。第k次的元素是這樣插入的:在第k次處理時,前面的元素a0,a1,ak-1必定已排成了升序,將ak與ak-1,ak-2,a0

7、逐個比較(由后向前),若有aj<ak,則ak插入到aj之后,否則ak維持原位不變。-*/#include<stdio.h>void main ( ) int a10=191,3,6,4,11,7,25,13,89,10 ; int i,j,k ; for (i=1; i<10; i+) k = ai ;/*SPACE*/ j = 【?】; while (j>=0 && k<aj ) /*SPACE*/ 【?】; j-; /*SPACE*/ 【?】=k ; for (i=0; i<10; i+) printf("%d "

8、;,ai);/*-【程序填空】-已知程序的功能是輸出數(shù)組a 中的最大值,及該元素所在的行號和列號,請?zhí)?3)空使程序完整。-*/#include<stdio.h>void main( ) int i,j,row=0,col=0,max;int a43=4,5,6,10,1,23,2,-8,9,9,7,18; max=a00;/*SPACE*/ for(【?】) for(j=0;j<3;j+)/*SPACE*/ if(【?】) /*SPACE*/ 【?】; row=i; col=j; printf("%d,%d,%d n",max,row,col);/*-【

9、程序填空】-下面程序接受鍵盤上的輸入,直到按鍵為止,這些字符被原樣輸出,但若有連續(xù)的一個以上的空格時只輸出一個空格,請?zhí)?3)空使程序完整。-*/#include<stdio.h>void main( ) char cx , front='0' ;/*SPACE*/ while (【?】)!='n') if (cx!=' ') putchar(cx) ; if (cx=' ')/*SPACE*/ if (【?】)/*SPACE*/ putchar(【?】); front=cx ; /*-【程序填空】-以下程序是將字符串

10、b的內(nèi)容連接字符數(shù)組a的內(nèi)容后面,形成新字符串a(chǎn),請?zhí)?2)空使程序完整。-*/#include<stdio.h>void main ( ) char a40="Great ", b ="Wall" int i=0,j=0 ; while (ai!='0') i+ ;/*SPACE*/ while (【?】) ai=bj ; i+ ; j+ ; /*SPACE*/ 【?】; printf("%sn",a);/*-【程序填空】-下面程序用"插入法"對數(shù)組a進行由小到大的排序,請?zhí)?3)空使

11、程序完整。經(jīng)典算法提示:簡單插入排序算法的基本思想使將數(shù)組處理n-1次,第k次處理是將第k個元素插入到目前的位置。第k次的元素是這樣插入的:在第k次處理時,前面的元素a0,a1,ak-1必定已排成了升序,將ak與ak-1,ak-2,a0逐個比較(由后向前),若有aj<ak,則ak插入到aj之后,否則ak維持原位不變。-*/#include<stdio.h>void main ( ) int a10=191,3,6,4,11,7,25,13,89,10 ; int i,j,k ; for (i=1; i<10; i+) k = ai ;/*SPACE*/ j = 【?】;

12、 while (j>=0 && k<aj ) /*SPACE*/ 【?】; j-; /*SPACE*/ 【?】=k ; for (i=0; i<10; i+) printf("%d ",ai);/*-【程序填空】-已知程序的功能是輸出數(shù)組a 中的最大值,及該元素所在的行號和列號,請?zhí)?3)空使程序完整。-*/#include<stdio.h>void main( ) int i,j,row=0,col=0,max;int a43=4,5,6,10,1,23,2,-8,9,9,7,18; max=a00;/*SPACE*/ for

13、(【?】) for(j=0;j<3;j+)/*SPACE*/ if(【?】) /*SPACE*/ 【?】; row=i; col=j; printf("%d,%d,%d n",max,row,col);習題一下面程序可求出矩陣a的主對角線上的元素之和,請?zhí)?2)空使程序完整。    main ( )     int a33=1,3,5,7,9,11,13,15,17 , sum=0, i, j ;main ( ) Int a33=1,3,5,7,9,11,13,15,17 , sum=0,

14、i,j; for (i=0;i<3;i+) for (j=0;j<3;j+) if (i=j) sum=sum+aij; printf("sum=%d",sum);       for (i=0 ; i<3 ; i+)           for (j=0 ; j<3 ; j+)        

15、      if (【1 】)                sum=sum+【2 】;       printf(“sum=%d”,sum);下面程序?qū)⑹M制整數(shù)base轉(zhuǎn)換成n進制,請?zhí)?3)空使程序完整。main ( ) int i=0,base,n,j,num20=0; scanf("%d&

16、quot;,&n); scanf("%d",&base); do i+; numi=base%n; base=base/n; while (base!=0); for (j=i;j>=1;j-) printf("%d",numj);main ( ) int i=0,base,n,j,num20=0;   scanf(“%d”,&n);   scanf(“%d”,&base);   do    

17、60;  i+;      numi=【1 】;      base=【2 】;    while (base!=0);   for (【3 】)       printf(“%d”,numj) ;main ( ) int a10,max,min,i,j,k=0;for (i=0; i<10; i+) scanf("%d&

18、quot;,&ai); max=min=a0; for (i=0; i<10; i+) if (ai<min) min=ai; k=i; if (ai>max) max=ai; j=i; ak=max; aj=min; for (i=0; i<10; i+) printf("%d",ai);下面程序的功能是輸入10個數(shù),找出最大值和最小值所在的位置,并把兩者對調(diào),然后輸出調(diào)整后的10個數(shù),請?zhí)?3)空使程序完整。main ( ) int a10,max,min,i,j,k ;  for (i=0; i<10; i+)

19、     scanf(“%d”,&ai);  max=min=a0;  for (i=0; i<10; i+)      if (ai<min) min=ai; 【1 】;      if (ai>max) max=ai; 【2 】;     【3 】;  for (i=0; i<10; i+)  

20、;   printf(“%d”,ai);下面程序用“插入法”對數(shù)組a進行由小到大的排序,請?zhí)?3)空使程序完整。經(jīng)典算法提示:簡單插入排序算法的基本思想使將數(shù)組處理n-1次,第k次處理是將第k個元素插入到目前的位置。第k次的元素是這樣插入的:在第k次處理時,前面的元素a0,a1,ak-1必定已排成了升序,將ak與ak-1,ak-2,a0逐個比較(由后向前),若有aj<ak,則ak插入到aj之后,否則ak維持原位不變。main ( )main ( ) int a10=191,3,6,4,11,7,25,13,89,10 ; int i,j,k ; for (i

21、=1; i<10; i+) k = ai; j = i-1; while (j>=0 && k<aj) aj+1=aj; j-; aj+1=k; /a3=a5最小的放后面 for (i=0; i<10; i+) printf("%d",ai); int a10=191,3,6,4,11,7,25,13,89,10 ;   int i,j,k ;    for (i=1; i<10; i+)       k =

22、ai ;      j = 【1 】;      while (j>=0 && k<aj )          【2 】;          j-;         

23、60;  【3 】=k ;      for (i=0; i<10; i+) printf(“%d”,ai);main ( ) int a3=5,9,10 ; int b5=12,24,26,37,48 ; int c10,i=0,j=0,k=0 ; while (i<3 && j<5) if (ai>bj) ck=bj ; k+ ; j+ ; else ck=ai ; k+ ; i+ ; while (i<3 && j>=5) ck=ai ; i

24、+ ; k+ ; while (i>=3 && j<5) ck=bj ; j+ ; k+ ; for (i=0; i<k; i+) printf("%d ",ci); 下面程序用“兩路合并法”把兩個已按升序(由小到大)排列的數(shù)組合并成一個新的升序數(shù)組,請?zhí)?3)空使程序完整。main ( ) int a3=5,9,10 ;   int b5=12,24,26,37,48 ;   int c10,i=0,j=0,k=0 ;   while (i<3

25、 && j<5)      if (【1 】)          ck=bj ; k+ ; j+ ;       else          ck=ai ; k+ ; i+ ;        

26、60;while (【2 】)        ck=ai ; i+ ; k+ ;    while (【3 】)        ck=bj ; j+ ; k+ ;    for (i=0; i<k; i+) printf(“%d ”,ci);main ( ) int a23=4,5,6,1,2,3, b23=0, i,j; for (i=0; i<2 ; i+) for (j=0; j<3 ; j+

27、 ) printf("%5d",aij); bij+1=aij; printf("n"); for (i=0;i<2;i+) bi0=ai2; for(i=0;i<2;i+) for (j=0; j<3 ; j+) printf("%5d",bij); printf("n"); 下面程序的功能是將二維數(shù)組a中每個元素向右移一列,最右一列換到最左一列,移后的結(jié)果保存到b數(shù)組中,并按矩陣形式輸出a和b,請?zhí)?3)空使程序完整。main ( ) int a234,5,6,1,2,3, b23, i,j;

28、   for (i=0; i<2 ; i+)     for (j=0; j<3 ; j+ )          printf(“%5d”,aij);        【1 】;          printf(“n”); 

29、60;    for (【2 】) bi0=ai2;   for (i=0; i<2 ; i+)       for (j=0; j<3 ; j+)           printf(“%5d”,bij);          【3 】;  

30、;          printf(“n”);   下面程序的功能是在一個字符串中查找一個指定的字符,若字符串中包含該字符則輸出該字符在字符串中第一次出現(xiàn)的位置(下標值),否則輸出1,請?zhí)?2)空使程序完整。# include <string.h>main ( ) char c='a' ; /* 需要查找的字符*/ char t50 ; int i,j,k; gets(t) ; i = strlen(t); for (k=0; k<

31、i; k+) if (tk=c) j = k ; break ; else j=-1; printf("%d",j); main ( ) char c=a ; /* 需要查找的字符*/   char t50 ;    int i,j,k;   gets(t) ;   i = 【1 】;   for (k=0; k<i; k+)      if (【2 】)

32、60;         j = k ; break ;      else j=-1;   printf(“%d”,j);下面程序用“順序查找法”查找數(shù)組a中是否存在某一關(guān)鍵字,請?zhí)?2)空使程序完整。main ( )main ( ) int a10=25,57,48,371,123,291,18,22,44; int i=0,x ; scanf("%d",&x); while (ai!=x &am

33、p;&i <10) i+ ; if(i<10) printf("found=%dn",i); else printf("can't found!n"); int a10=25,57,48,371,123,291,18,22,44;   int i=0,x ;   scanf(“%d”,&x);   while (ai!=x&&【1 】) i+ ;   if (【2 】) printf(

34、“found=%dn”,i);   else printf(“cant found!n”);習題二main ( ) int a22=-1,-2,-3,-4, b23=2,10,9,4,5,119; int i,j,k,s=0,c23=0; for (i=0; i<2; i+) for (j=0; j<3; j+) s=0; for (k=0; k<2; k+) s+=aik*bkj; cij=s; for (i=0; i<2; i+) for (j=0; j<3; j+) printf("%6d",cij); pr

35、intf("n"); 以下程序是求矩陣a,b的乘積,結(jié)果存放在矩陣C中并按矩陣形式輸出,請?zhí)?3)空使程序完整。main ( ) int a22=-1,-2,-3,-4, b23=2,10,9,4,5,119;   int i,j,k,s,c23;   for (i=0; i<2; i+)      for (j=0; j<3; j+)          

36、【1 】          for (k=0; k<2; k+) s+=【2 】;          cij=s;         for (i=0; i<3; i+)      for (j=0; j<2; j+)  &

37、#160;       printf(“%6d”,cij);         【3 】;      main ( ) char a40="Great ", b ="Wall" int i=0,j=0 ; while (ai!='0') i+ ; while (bj!='0') ai=bj ; i+ ; j+

38、 ; ai+1=0; printf("%sn",a); 以下程序是將字符串b的內(nèi)容連接字符數(shù)組a的內(nèi)容后面,形成新字符串a(chǎn),請?zhí)?2)空使程序完整。main ( ) char a40=”Great ”, b =”Wall”;   int i=0,j=0 ;   while (ai!=0) i+ ;   while (【1 】)       ai=bj ; i+ ; j+ ;    

39、60; 【2 】;   printf(“%sn”,a);下面函數(shù)用“折半查找法”從有10個數(shù)的a數(shù)組中對關(guān)鍵字m查找,若找到,返回其下標值,否則返回1,請?zhí)睿?)空使程序完整。經(jīng)典算法提示:折半查找法的思路是先確定待查元素的范圍,將其分成兩半,然后比較位于中間點元素的值。如果該待查元素的值大于中間點元素的值,則將范圍重新定義為大于中間點元素的范圍,反之亦反。int search(int a10,int m)int search(int a10,int m) int x1=0,x2=9,mid ; while (x1<=x2) mid = (x1+x

40、2)/2; if (m<amid) x2=mid;/這是升序,若果是降序則是X1=MID else if (m>amid) x1=mid;/ 這是升序,若果是降序則是X2=MID, else return (mid) ; return (-1) ; int x1=0,x2=9,mid ;   while (x1<=x2)       mid = (x1+x2)/2;      if (m<amid) 【1 】; 

41、     else if (m>amid) 【2 】;      else return (mid) ;      return (-1) ;del函數(shù)的作用是刪除有序數(shù)組a中的指定元素x,n為數(shù)組a的元素個數(shù),函數(shù)返回刪除后的數(shù)組a元素個數(shù),請?zhí)?2)空使程序完整。int del (int a10,int n,int x) int p=0,i ;int del (int a10,int n,int x) int p=0

42、,i ;   while (x>=ap&&p<n) p+;   for (i=p-1; i<n; i+) ai=ai+1;   return (n-1) ;/只能刪除升序序列   while (x>=ap&&p<n) 【1 】;   for (i=p-1; i<n; i+) 【2 】;   return (n-1) ;以下程序的功能是計算函數(shù)f=x/

43、y+y/z ,請?zhí)?3)空使程序完整。# include <stdio.h># include <stdio.h>#include “math.h”;main ( ) float x,y,z,f ;   scanf(“%f,%f,%f”,&x,&y,&z);   f = fun (x,y);   f += fun (y,z);   printf(“f=%f”,f);float fun(float a,float b) retur

44、n (a/b) ;【1 】;main ( ) float x,y,z,f ;   scanf(“%f,%f,%f”,&x,&y,&z);   f = fun (【2 】);   f += fun (【3 】);   printf(“f=%d”,f);/要改%f輸出float fun(float a,float b) return (a/b) ;avg函數(shù)的作用是計算數(shù)組array的平均值返回,請?zhí)?3)空使程序完整。float avg(float ar

45、ray10) int i; float avgr,sum=0; for (i=0;i<10;i+) sum+=arrayi; avgr=sum/10 ; return(avgr);float avg(float array10) int i ;   float avgr , sum=0 ;   for (i=0; 【1 】; i+)      sum+=【2 】;   avgr = sum / 10 ;   【

46、3 】;習題三下列程序的輸出結(jié)果是16.00,請?zhí)睿?)空使程序完整。main ( ) int a=9,b=2;   float x=6.6 , y=1.1 , z;   z=a/2+b*x/y+1/2;   printf(“%5.2fn”,z);main ( ) int a=9,b=2;   float x=【1】 , y=1.1 , z;   z=a/2+b*x/y+1/2;   printf(“%5.2fn”,

47、z);main ( ) int x=4,y=5,z=8 ;   int u,v;   u = x<y ? x:y;   v = u<z ? u:z ;   printf (“%d”,v);以下程序輸出x,y,z三個數(shù)中的最小值,請?zhí)睿?)空使程序完整。main ( ) int x=4,y=5,z=8 ;   int u,v;   u = x<y ? 【1 】 ;   v

48、 = u<z ? 【2 】 ;   printf (“%d”,v);下述程序用“碾轉(zhuǎn)相除法”計算兩個整數(shù)m和n的最大公約數(shù)。該方法的基本思想是計算m和n相除的余數(shù),如果余數(shù)為0則結(jié)束,此時的被除數(shù)就是最大公約數(shù)。否則,將除數(shù)作為新的被除數(shù),余數(shù)作為新的除數(shù),繼續(xù)計算m和n相除的余數(shù),判斷是否為0,等等,請?zhí)睿?)空使程序完整。main ( ) int m,n,w;main ( ) int m,n,w;   scanf(“%d,%d”,&m,&n);   while (n)  

49、;     w=m%n;      m=n;       n=w;      printf(“%d”,m);   scanf(“%d,%d”,&m,&n);   while (n)       w=【1 】; &#

50、160;    m=【2 】;       n=【3 】;      printf(“%d”,m);main ( ) int n,k=1,s=0,m ;  for (n=1 ; n<=100 ; n+)       k=1 ; s=0 ;      m=n;  &

51、#160;   while (m)           k*=m%10;          s+=m%10;          m=m/10;          

52、0; if (k>s) printf(“%4d”,n);  下面程序的功能是輸出1至100之間每位數(shù)的乘積大于每位數(shù)的和的數(shù),請?zhí)睿?)空使程序完整。main ( ) int n,k=1,s=0,m ;  for (n=1 ; n<=100 ; n+)       k=1 ; s=0 ;      【1 】;      while (【2 】)     

溫馨提示

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

評論

0/150

提交評論