日日摸夜夜精品蜜臀AV一区二区_亚洲一区AV春药高潮_欧美双渗透金发美女精品视频在线_国产成人AV十八在线观_国产片婬乱18一级毛片动

江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
2015年3月全國計算機二級C上機操作真題第1套

108

 

一、基本操作
 函數(shù)fun的功能是:在有n個元素的結構體數(shù)組std中,查找有不及格科目的學生,找到后輸出學生的學號;函數(shù)的返回值是有不及格科目的學生人數(shù)。例如,主函數(shù)中給出了4名學生的數(shù)據(jù),則程序運行的結果為:
        學號:N1002  學號:N1006
        共有2位學生有不及格科目
    請在程序的下劃線處填入正確的內容,并把下劃線刪除,使程序得出正確的
結果。
    注意:源程序存放在考生文件夾下的BLANK1.C中。
          不得增行或刪行,也不得更改程序的結構!
 
 #include  <stdio.h>
typedef struct
{ char num[8]; 
  double score[2];
/**********found**********/
} __(1)__ ;
int  fun(STU  std[ ], int  n)
{  int  i, k=0;
   for(i=0; i<n; i++)
/**********found**********/
     if( std[i].score[0]<60__(2)__std[i].score[1]<60 )
     { k++;     printf("學號:%s ",std[i].num);   }
/**********found**********/
   return __(3)__ ;
}
main()
{  STU  std[4]={ "N1001", 76.5,82.0 ,"N1002", 53.5,73.0,
                "N1005", 80.5,66.0,"N1006", 81.0,56.0 };
  printf( "\n共有%d位學生有不及格科目\n" , fun(std,4) );
}


 
   二、簡單應用
給定程序MODI1.C中,函數(shù)fun 的功能是判斷整數(shù)n是否是“完數(shù)”。當一個數(shù)的因子之和恰好等于這個數(shù)本身時,就稱這個數(shù)為“完數(shù)”。例如:6的因子包括1、2、3,而6=1+2+3,所以6是完數(shù)。如果是完數(shù),函數(shù)返回值為1,否則函數(shù)返回值為0。數(shù)組a中存放的是找到的因子,變量k中存放的是因子的個數(shù)。
    請改正函數(shù)fun中指定部位的錯誤,使它能得出正確的結果。
    注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構。
 
 #include <stdio.h>
int  fun(int  n, int  a[], int  *k)
{   int  m=0, i, t;
    t = n;
/**********found**********/
    for( i=0; i<n; i++ )
       if(n%i==0)
       {  a[m]=i;  m++;  t=t - i;  }
/**********found**********/
    k=m;
/**********found**********/
    if ( t=0 )  return  1;
    else  return  0;
}
main()
{  int  n , a[10], flag, i, k;
   printf("請輸入一個整數(shù):    ");  scanf("%d",&n);
   flag = fun( n, a, &k );
   if(flag)
   {  printf(" %d 是完數(shù),其因子是:  ", n);
      for(i=0;i<k;i++)   printf("  %d ", a[i]);
      printf("\n");
   }
   else    printf(" %d 不是完數(shù).\n ", n );
}


 
   三、綜合應用
 請編寫函數(shù)fun :在形參指針所指的4個整數(shù)中找出最大值和最小值,最大的放在a中,最小的放在d中。
    注意:部分源程序存在PROG1.C中,請勿改動主函數(shù)main和其他函數(shù)中的任何
內容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。

 

#include   <stdio.h>
void NONO();
void  fun(int  *a, int  *b, int  *c, int  *d)
{

 

}
main()
{  int  a, b, c, d;
   printf("請輸入4個整數(shù):    ");  scanf("%d%d%d%d", &a,&b,&c,&d);
   printf("原始順序:    %d,%d,%d,%d\n", a, b, c, d);
   fun(&a,&b,&c,&d);
   printf("處理后:      %d,%d,%d,%d\n", a, b, c, d);
   NONO();
}

void NONO()
{/* 本函數(shù)用于打開文件,輸入數(shù)據(jù),調用函數(shù),輸出數(shù)據(jù),關閉文件。 */
  FILE *fp, *wf ;
  int i, a, b, c, d ;

  fp = fopen("in.dat","r") ;
  wf = fopen("out.dat","w") ;
  for( i=0; i<5; i++ )
  {
     fscanf(fp, "%d %d %d %d", &a, &b, &c, &d);
     fun(&a,&b,&c,&d);
     fprintf(wf, "a=%d,d=%d\n", a, d);
  }
  fclose(fp) ;
  fclose(wf) ;
}

一、基本操作答案

 

【參考答案】

 

(1)    STU

(2)    ||

(3)    k

 

【考點分析】

 

主要考察對結構體的定義和使用,以及邏輯運算符的使用

 

【解題思路】

 

填空1  STU 結構體別名,通過main()中的語句可知

 

填空2  || 只要學生二門課成績有不及格的,就算不及格,因此使用或運算

 

填空3  k 返回的是不及格的學生個數(shù),有題意可知k是累計個數(shù)的。

 

 二、簡單應用答案

 

【參考答案】

 

(1)for( i=0; i<n; i++ )改為for( i=1; i<n; i++ )

(2)k=m改為*k=m

(3)if ( t=0 )改為if ( t==0 );

 

【考點分析】

 

主要考察C語言約定數(shù)組的下標是從0開始的,理解指針的指向和指針的區(qū)別,以及邏輯運算符的使用

 

【解題思路】

 

(1)for( i=0; i<n; i++ )改為for( i=1; i<n; i++ );一個數(shù)的因子從1開始,不能從0開始

(2)k=m改為*k=m;k為指針不能直接賦值整數(shù),*k為指針指向的內容

(3)if ( t=0 )改為if ( t==0 );括號內應為判斷語句而不是賦值語句。

 

 

 

三、綜合應用答案

【參考答案】

 

int max,min;//臨時存放最大值、最小值

 

         max=min=*a;//初始化為*a

         if(max<*b)//*b比較,如果max*b,修改max,如果min*b大,修改min,下同

                   max=*b;

         if(min>*b)

                   min=*b;

         if(max<*c)

                   max=*c;

         if(min>*c)

                   min=*c;

         if(max<*d)

                   max=*d;

         if(min>*d)

                   min=*d;

         *d=min;

         *a=max;

 

【考點分析】

 

主要考察考生對臨時變量的初始化及使用,以及如何比較多個數(shù)的大小

 

【解題思路】

 

通過初始化指定最大值,最小值,再使用當前的最值與剩下的值比較,若比最大值大,修改最大值;若比最小值小,修改最小值。