四川省計算機等級考試二級C語言機試題2128答案_第1頁
四川省計算機等級考試二級C語言機試題2128答案_第2頁
四川省計算機等級考試二級C語言機試題2128答案_第3頁
四川省計算機等級考試二級C語言機試題2128答案_第4頁
四川省計算機等級考試二級C語言機試題2128答案_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、四川省計算機等級考試二級c語言機試題(第二十一次)21-1套 參考答案:一、程序調(diào)試題(文件名test1-1.c)(40分)#include <stdio.h>#include <string.h>char  *fun( char  str)                     /* 改為 *str    */ int 

2、 i ;  for(i=0 ; str; i+)                         /* 改為 stri   */   if('a'<=stri)|(stri<='z')        

3、60;     /* 改為 &&    */     stri+=32;                         /* 改為 -=     */  return  *str;&

4、#160;                               /* 改為 str     */main()     char str81;   printf("n please  enter

5、  a string:");   gets(str81);                          /* 改為 str     */   printf("n the result string is:n%s" , fun(str)

6、;評分標準:每改對1處得5分,結(jié)果正確得10分。二、編寫程序(程序文件取名為 test1-2.c)(60分)評分標準:1被調(diào)函數(shù)編寫正確                                      20分2文件打開、數(shù)據(jù)讀入正確和定位正

7、確             10分3函數(shù)調(diào)用正確                                       &#

8、160;       5分4屏幕輸出和文件輸出正確                               20分5程序結(jié)構(gòu)合理         

9、                                        5分參考程序:# include <stdio.h># include <math.h>int prime

10、(int a,int n)  int i,j,k=0,flag=0;   for(i=0;i<n;i+)     for(j=2;j<ai;j+)        if(ai%j=0)          flag=0;           break;  &#

11、160;             else flag=1;      if(flag)        ak+=ai;      return k;main()  int n,i,a10;   file *fp;   fp=fopen("test1-2.txt"

12、,"r+");   for(n=0;n<10;n+)     fscanf(fp,"%d",&an);   n=prime(a,n);   fseek(fp,0,2);   for(i=0;i<n;i+)     printf("%5d",ai);      fprintf(fp,"%5d",ai)

13、;      fclose(fp); 21-2套 參考答案:一、程序調(diào)試題(文件名為test2-1.c)(40分)#include <stdio.h>#define n10                              

14、60;      /* 改為 n 10    */void fi(int a,int m)                         /* 改為 int      */  int low=0,high=n,mid;

15、  while (low<=high)      mid=(low+high)/2;    if(m<amid)                 high=mid-1;    else if(m>=amid)         

16、60;                  /* 改為 m>amid */                     low=mid+1;        else  r

17、eturn(mid);      return(-1);main()  int i, an=-3,4,7,9,13,45,67,89,100,180,k,m;  for(i=0;i<n;i+)       printf("%d ",ai);  printf("enter m: ");   scanf("%d",m);       &

18、#160;                           /* 改為 &m     */  k=fi(a,m);             

19、;                   /* 改為 a       */  if(k>0) printf("m=%d,index=%dn",m,k);           /* 改為 k>=0    */ 

20、else printf("not be found!n");評分標準:每改對1處得5分,結(jié)果正確得10分。二、編寫程序(程序文件取名為 test2-2.c)(60分)評分標準:1被調(diào)函數(shù)編寫正確                        20分2文件打開、數(shù)據(jù)讀入正確          

21、;    15分3函數(shù)調(diào)用正確                                 5分4屏幕輸出及結(jié)果正確            

22、60;           15分5程序結(jié)構(gòu)合理                                   5分參考程序:# include <

23、stdio.h># define m 3# define n 4void fun(int ttmn,int ppn)  int i,j,min;   for(j=0;j<n;j+)     min=tt0;      for(i=0;i<m;i+)        if(ttij<min)         

24、 min=ttij;      ppj=min;   main()  int tmn;   int pn,i,j,k;   file *fp;   fp=fopen("test2-2.dat","r");   for(i=0;i<3;i+)     for(j=0;j<4;j+)     

25、0; fscanf(fp,"%d",&tij);   fclose(fp);   printf("the original data is :n");   for(i=0;i<m;i+)     for(j=0;j<n;j+)        printf("%6d",tij);      printf(&qu

26、ot;n");      fun(t,p);   printf("nthe result is :n");   for(k=0;k<n;k+)     printf("%4d",pk);   printf("n"); 21-3套 參考答案:一、程序調(diào)試題(test3-1.c):#include <stdio.h>void main()   int i

27、,k;                                                 

28、60;            /* 改為 k=0  */  char a80,b80,*p;  p=*a;                             

29、60;                                        /* 改為 p=a  */  gets(p);  while(!*p)  

30、                                                  

31、           /* 改為 *p   */               for(i=1;i<3&&*p!='0'p+,k+,i+)          /* 改為 i<=3  */     &

32、#160;       bk=*p;        if(i=4)  bk=''k+;                           /* 改為 ' ' 

33、0;  */       bk='0'  puts(*b);                                      

34、;                     /* 改為 b    */評分標準:每改對1處得5分,結(jié)果正確得10分。二、編寫程序(程序文件取名為 test4-2.c)(60分)評分標準:1被調(diào)函數(shù)編寫正確               

35、60;        20分2文件打開、數(shù)據(jù)寫入正確              10分3函數(shù)調(diào)用正確                            &#

36、160;    10分4屏幕輸出正確                                   10分5m輸入正確         

37、;                             5分6程序結(jié)構(gòu)合理                    &

38、#160;              5分參考程序:# include <stdio.h>int create(int a,int m)  int i,j=0;   for(i=1;i<=m;i+)     if(i%3=0 | i%7=0)       aj+=i;   return (j);mai

39、n()  int a80,m;   int i,n;   file *fp;   if(fp=fopen("test3-2.dat","w")=null)     printf("can't open the file.n");      exit(0);      printf("input m:n"); &

40、#160; scanf("%d",&m);   n=creat(a,m);   printf("n=%dn",n);   fprintf("fp,"n=%dn",n);   for(i=0;i<n;i+)     printf("%4d",ai);      fprintf(fp,"%4d",ai); &

41、#160;    fclose(fp);21-4套 參考答案:一、程序調(diào)試題(test4-1.c):#include <stdio.h>main()  char str81,c;  int i,j,n;                             

42、0;    /* 改為 n=0      */  printf("n enter a string:");  gets(str81);                       /* 改為 str       

43、;*/  printf("n enter a character:");  getchar(c);                                   /* 改為 c=getchar()  */ 

44、; for(i=j=0;stri;i+)    if(stri!=c)       strj=stri;                      /* 改為 j+      */    else   

45、;    n;                              /* 改為 n+      */  strj=  ;        

46、;                    /* 改為 strj= '0'  */  printf("nstr=%s,n=%dn",str,n);  getchar();評分標準:每改對1處得5分,結(jié)果正確得10分。二、編寫程序(程序文件取名為 test4-2.c)(60分)評分標準:1輸入數(shù)據(jù)正確    

47、0;                         5分2被調(diào)函數(shù)編寫正確                      20分3文件操作及數(shù)據(jù)寫入正確    &

48、#160;            15分4函數(shù)調(diào)用正確                                   5分5屏幕輸出及結(jié)果正確&

49、#160;                       10分6程序結(jié)構(gòu)合理                         &#

50、160;         5分參考程序:# include <stdio.h># include <string.h>void fun(char *s,char *t)  int i,j=0,n;   n=strlen(s);   for(i=0;i<n;i+)     if(!(i%2=0 && si%2!=0)     

51、0; tj+=si;   tj='0'main()  char s100,t100;   file *fp;   printf("please enter a string:n");   gets(s);   fun(s,t);   fp=fopen("test4-2.txt","w");   printf("%sn%sn",s,t); &#

52、160; fprintf(fp,"%sn%sn",s,t);   fclose(fp); 四川省計算機等級考試二級c語言機試題(第二十二次)22-1套 參考答案:一、程序調(diào)試題(文件名為test1-1.c)(40分)#include <stdio.h>#include <string.h>char move( char *str, int r)          /* 改為 *move  */ char t;  int i

53、,len;                                       /* 改為 k      */  len=strlen(str);  f

54、or(k=0;k<=r;k+)               /* 改為 k<r    */  t=*str;    strcpy(str+1,str);                   /* 改為 strcpy(s

55、tr+1,str) */    strlen-1=t;    return *str;                   /* 改為 str    */void main() char s81;  int m;  printf("n please enter a string:n"); 

56、 gets(s);  do  printf("n please enter m:");    scanf("%d",m);                        /* 改為 &m   */    if(m>strlen

57、(s)      printf("n data error!n");  while(m>strlen(s);  printf("n result:%sn",move(s,m);評分標準:每改對1處得5分,結(jié)果正確得10分。二、編寫程序(程序文件取名為 test1-2.c)(60分)評分標準:1被調(diào)函數(shù)編寫正確                &

58、#160;      25分2文件打開、數(shù)據(jù)讀出正確           10分3函數(shù)調(diào)用正確                              

59、60;    10分4屏幕輸出正確                                   10分5程序結(jié)構(gòu)合理         

60、;                          5分參考程序:#include <stdio.h>sort(char a,char b)  char c;  int i,j=0;  for(i=1;i<strlen(a);i+=2)    bj+=ai; 

61、 bj='0'  for(i=1;i<strlen(b);i+)    for(j=0;j<strlen(b)-i;j+)      if(bj>bj+1)      c=bj; bj=bj+1; bj+1=c; main()  file *in;  char a128,b65;  in=fopen("test1-2.in","r");  fg

62、ets(a,128,in);  fclose(in);  sort(a,b);  puts(b); 22-2套 參考答案:一、程序調(diào)試題(文件名為test2-1.c)(40分)#include <stdio.h>main()  float a 10, min;                       &

63、#160;             /* 改為 a1010  */  int i, j;  int invert();                            

64、60;         /* 改為 float      */  for(i=0;i<10;i+)    for(j=0;j<10;j+)        aij= i+j;  for(i=0;i<10;i+)      min=invert(a,10);   &

65、#160;                                /* 改為 ai      */    printf("a%dmin=%fn",i,min);  floa

66、t invert(float *a, n)                                  /* 改為 int n     */  int i;  float min;  min=*(a+0)

67、;  for(i=1;i<n;i+)      if(min<*(a+i)                                      

68、0; /* 改為 >       */        min=(a+i);                                

69、60;     /* 改為 *(a+i)   */    return min;評分標準:每改對1處得5分,結(jié)果正確得10分。二、編寫程序(程序文件取名為 test2-2.c)(60分)評分標準:1被調(diào)函數(shù)編寫正確                       15分2文件打開、數(shù)據(jù)寫入正確  

70、60;        15分3函數(shù)調(diào)用正確                                   10分4屏幕輸出正確     

71、0;                             10分5程序結(jié)構(gòu)合理                    

72、;               10分參考程序:# include <stdio.h>int select(int a)  if(!(a%3)&&!(a%5)  return 1;  else  return 0;main()  int i,k=0;  file *fp;  if(fp=fopen("test2-2.dat","w

73、b")=null)      printf("cannot open the filen");    exit(0);    for(i=3;i<400;i+)    if(select(i)          k=k+1;      printf("%10d",i);  

74、    fprintf(fp,"%10d",i);      if(k%5=0)        printf("n");         fprintf(fp,"n");             fclose(fp);&

75、#160;22-3套 參考答案:一、程序調(diào)試題(文件名為test3-1.c)(40分)#include <stdio.h>int fun(float s, int n, float *aver)            /* 改為 *s                 */ float ave,t=0.0;  int count

76、,k,i;                                /* 改為 count=0        */  for(k=0;k<n;k+)    t=sk;  

77、;                           /* 改為 +=                */  ave=t/n;  for(i=0;i<n;i+)  

78、;  if(si>ave) count+;                 /* 改為 <                  */    *aver=&ave;      

79、;                  /* 改為 ave                */    return count; main() float s30,aver;  int m, i;  printf("nplease

80、enter n(<30):");  scanf("%d", &m);  printf("nplease enter %d mark:n",m);  for(i=0;i<m;i+)       scanf("%f", s+i);  printf("nthe number of students:%d n",fun(s, m, aver);   /* 改為 &aver */

81、  printf("ave=%f n", aver);評分標準:每改對1處得5分,結(jié)果正確得10分。二、編寫程序(程序文件取名為 test3-2.c)(60分)評分標準:1被調(diào)函數(shù)編寫正確                       20分2文件操作和讀數(shù)據(jù)正確          

82、;     15分3函數(shù)調(diào)用正確                                   10分4屏幕輸出正確        &

83、#160;                          10分5程序結(jié)構(gòu)合理                      &#

84、160;            5分參考程序:#include<stdio.h>#include<string.h>#define m 10void fun(int *s)  int i,j,t;  for(i=1;i<m-2;i+)    for(j=i+1;j<m-1;j+)      if(si>sj)   &

85、#160;    t=si;         si=sj;         sj=t;      int input(int s)    file *fp;  int i;  if(fp=fopen("test3-2.in","r")=null)    printf(&

86、quot;cannot open filen");     return(0);    for(i=0;i<m;i+)    fscanf(fp,"%d ",&si);  fclose(fp);  return(1);main()  int sm;  int i;  if(input(s)      fun(s);    printf(&quo

87、t;n");    for(i=0;i<m;i+)      printf("%d ",si);  四川省計算機等級考試二級c語言機試題(第二十三次) 23-1套 參考答案:一、程序調(diào)試題(文件名為test1-1.c)(40分)#include <stdio.h>#include <string.h>             &

88、#160; /* 改為: math.h  */main() char str100, *p=str, help15;  static long int num50;  int i=0, k=0, m, sign=0;  printf("ninput the string:");  scanf("%s", p);  do    if(*p>=0 && *p<=9)       &#

89、160;      /* 改為:*p>=0 && *p<=9  或 *p>=48 && *p<=57 */     sign=1;       helpk+=*p;          else if(sign=1)        &#

90、160;     /* 改為:=*/     int n=0;       while(-k>=0)          numi+=(helpk-48)*(long int)pow(n+,10);  /* 改為:pow(10,n+) */       i+;   

91、    k=0;       sign=0;          else                              

92、0; /* 改為:else;  */     p+;  while(*(p-1)!='0');  for(m=0; m<i; m+)     printf("%d,", numm);         /* 改為:%ld  (即長整型格式輸出)*/評分標準:每改對一處得6分,結(jié)果正確得4分二、編程題(程序文件取名為 test1-2.c)(60分)評分標準:1被調(diào)函數(shù)f

93、un編寫正確         20分      2文件打開和關(guān)閉正確             10分3函數(shù)調(diào)用正確                     &#

94、160;      5分        4屏幕輸出和文件輸出正確            15分5輸出格式正確                      

95、;      5分        6程序結(jié)構(gòu)合理                              5分參考程序:# include <stdio.h># define m 100

96、0int fun(int *a) int m,k=0;  for(m=1;m<=m;m+)    if( (m%7=0 && m%11!=0) | (m%7!=0 && m%11=0) )       ak+=m;  return k;main() int am,n,k;  file *fp;  clrscr();          

97、60;          /*清屏函數(shù)*/  fp=fopen("test1-2.dat","w");  n=fun(a);  printf("%dn",n);  fprintf(fp,"%dn",n);  for(k=0;k<n;k+)  printf("%5d",ak);    fprintf(fp

98、,"%5d",ak);    if( (k+1)%10 = 0 )      printf("n");       fprintf(fp,"n");        fclose(fp); 23-2套 參考答案:一、程序調(diào)試題(文件名 test2-1.c)( 40 分 )#include <stdio.h>#define n 80void

99、 fun(int *s, int *t, int k)                /* 改為 *k  */ int i,m;  *k=0;  m=*s;  for(i=1;i<(*t-1);i+)    if(m<s+i)            

100、0;                      /* 改為 *(s+i)  */     m=*(s+i);      k=i;               &

101、#160;                      /* 改為 *k   */      si+1=m;  *t+ ;                 

102、60;               /* 改為 (*t)+  */main() int an=876,675,896,101,301,401,980,431,451,777;  int i, n=10, mi;                   fun(an, &n,

103、&mi);                   /* 改為 a  */    printf("nthe index of max is:%dn",mi);  printf("the result:n");  for(i=0;i<n;i+)     printf("%4d",

104、&ai  );                    /* 改為 ai  */評分標準:每改對一處得6分,結(jié)果正確得4分二、編程題(程序文件取名為 test2-2.c)(60分)評分標準:1被調(diào)函數(shù)fun編寫正確         20分      2文件打開和關(guān)閉正確&#

105、160;            10分3函數(shù)調(diào)用正確                            5分        4屏幕輸出和文件輸出正確

106、0;           15分5輸出格式正確                            5分        6程序結(jié)構(gòu)合理  

107、                            5分參考程序:# include <stdio.h># define m 1000int fun(int *a) int m,k=0;  for(m=1;m<=m;m+)    if( (m%7=0 && m%

108、11!=0) | (m%7!=0 && m%11=0) )       ak+=m;  return k;main() int am,n,k; file *fp;  clrscr();                     /*清屏函數(shù)*/  fp=fopen("test1-2.d

109、at","w");  n=fun(a);  printf("%dn",n);  fprintf(fp,"%dn",n);  for(k=0;k<n;k+)  printf("%5d",ak);    fprintf(fp,"%5d",ak);    if( (k+1)%10 = 0 )      printf("n&quo

110、t;);       fprintf(fp,"n");        fclose(fp); 23-3套 參考答案:一、程序調(diào)試題(文件名 test3-1.c)( 40 分 )#include <stdio.h>#include <string.h>        /* 改為 ctype.h */void fun(char s)    

111、;       /* 改為 *s */ int i,j;  for(i=j=0;si;i+);       /* 改為 去掉分號 ;*/    if(isalpha(si)      sj =si;     /* 改為 sj+ */  si ='0'        

112、0;       /* 改為 sj  */void main()  char str80="a*b$c(d!eee  !a."  fun(str80);          /* 改為 str  */  printf("n");  puts(str);評分標準:每改對一處得6分,結(jié)果正確得4分二、編程題(程序文件取名為 test3-2.c)(60分)

113、評分標準:1文件定義、打開、關(guān)閉正確     10分      2數(shù)據(jù)講稿和文件寫入正確     10分3函數(shù)調(diào)用正確                          5分       

114、4函數(shù)定義和參數(shù)使用正確     20分5結(jié)果正確                                   10分      6程序結(jié)構(gòu)合理  &#

115、160;                    5分參考程序:#include <stdio.h>void sort(int aa,int bb)  int i,j,data;   for(i=0;i<5;i+)     for(j=i+1;j<5;j+)     if(aai%100

116、0>aaj%1000)       data=aai;         aai=aaj;         aaj=data;              else if(aai%1000=aaj%1000)    &

117、#160;         if(aai<aaj)                data=aai;                 aai=aaj;     &#

118、160;           aaj=data;                      for(i=0;i<5;i+)     bbi=aai;void main()  int aa5,bb5;   file *out; 

119、;  int i;   printf("nplease input 5 numbers:");   for(i=0;i<5;i+)     scanf("%d",&aai);   sort(aa,bb);   out=fopen("test3-2.dat","w");   printf("n");   for(i=

120、0;i<5;i+)   printf("%5d",bbi);     fprintf(out,"%5d",bbi);      fclose(out); 23-4套 參考答案:一、程序調(diào)試題(文件名 test4-1.c)( 40 分 )#include <stdio.h>#include <string.h>int fun(char s, char t)    /* 改為 char *s

121、, char *t  */   int  n=0 ;    char *p , *r ;    while(*s)      p=s;        r=t ;                    

122、        while(*r)         if(*r=*p)       /* 改為 =  */          r+;            p+;     

123、0;             else  continue;        /* 改為  break  */         if(r='0')             /* 改為 

124、*r  */           n+;          r+;                 /* 改為  s+  */        return  *s;

125、60;           /* 改為  n   */          main()  int m ;   char s100, t100;   printf("nplease enter string s:");   gets(s);     &

126、#160;                              printf("nplease enter string t:" );   gets(t);   m=fun(s,t);      

127、;                         printf("nthe result is: m= %dn",m);評分標準:每改對一處得6分,結(jié)果正確得4分二、編程題(程序文件取名為 test4-2.c)(60分)評分標準:1被調(diào)函數(shù)編寫正確         &

128、#160; 20分             2函數(shù)調(diào)用正確           5分3文件打開和關(guān)閉正確          5分               4

129、文件讀、寫正確            15分5n輸入和屏幕輸出正確       10分             6程序結(jié)構(gòu)合理                5

130、分參考程序:#include<stdio.h>#define n 5void fun(int ann,int n) int i,j;  for(i=j=0;i<n;i+,j+)    aij=aij+1;  for(i=1;i<n;i+)    for(j=0;j<i;j+)      aij=aij*2;  for(i=0;i<n;i+)    for(j=i+1;j<n;j+)&#

131、160;     aij=aij*3;main() int ann,i,j,n;  file *fp;  clrscr();  printf(“*input n *n”);  scanf(“%d”,&n);  fp=fopen("test4-2.in","r");  if(fp=null)  printf("file test4-2.in not open");    exit(0);&#

132、160;   for(i=0;i<n;i+)    for(j=0;j<n;j+)      fscanf(fp,"%d",&aij);  fclose(fp);  fun(a,n);  fp=fopen("test4-2.out","w");  if(fp=null)  printf("file test4-2.in not open"); &#

133、160;  exit(0);    for(i=0;i<n;i+)  for(j=0;j<n;j+)    printf("%5d",aij);      fprintf(fp,"%d",aij);        printf("n");    fprintf(fp,"n");  四川省

134、計算機等級考試二級c語言機試題(第二十四次) 24-1套 參考答案:一、程序調(diào)試題( 文件名 test1-1.c )(40分)#include <stdio.h>void spacenum(char *a,int *n) int i; n=0;               /*  改為 *n   */ for(i=0;i<n;i+)      /*  改為 *(a+i)!= '0'   */   if(*(a+i)=' ')     *n+;          /*  改為 (*n)+  */main( ) char str100; int count

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論