鸭子tv国产极品在线观看_成人69视频在线播放_91精品免费在线观看_亚洲AT永久偷窥无码精品_国产精品自产拍在线观看涩浪潮久

江蘇省高校計(jì)算機(jī)等級(jí)考試命題研究院 江蘇省高校計(jì)算機(jī)等級(jí)考試輔導(dǎo)
2015年3月全國(guó)計(jì)算機(jī)二級(jí)C上機(jī)操作真題第1套

108

 

一、基本操作
 函數(shù)fun的功能是:在有n個(gè)元素的結(jié)構(gòu)體數(shù)組std中,查找有不及格科目的學(xué)生,找到后輸出學(xué)生的學(xué)號(hào);函數(shù)的返回值是有不及格科目的學(xué)生人數(shù)。例如,主函數(shù)中給出了4名學(xué)生的數(shù)據(jù),則程序運(yùn)行的結(jié)果為:
        學(xué)號(hào):N1002  學(xué)號(hào):N1006
        共有2位學(xué)生有不及格科目
    請(qǐng)?jiān)诔绦虻南聞澗處填入正確的內(nèi)容,并把下劃線刪除,使程序得出正確的
結(jié)果。
    注意:源程序存放在考生文件夾下的BLANK1.C中。
          不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
 
 #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("學(xué)號(hào):%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位學(xué)生有不及格科目\n" , fun(std,4) );
}


 
   二、簡(jiǎn)單應(yīng)用
給定程序MODI1.C中,函數(shù)fun 的功能是判斷整數(shù)n是否是“完數(shù)”。當(dāng)一個(gè)數(shù)的因子之和恰好等于這個(gè)數(shù)本身時(shí),就稱(chēng)這個(gè)數(shù)為“完數(shù)”。例如:6的因子包括1、2、3,而6=1+2+3,所以6是完數(shù)。如果是完數(shù),函數(shù)返回值為1,否則函數(shù)返回值為0。數(shù)組a中存放的是找到的因子,變量k中存放的是因子的個(gè)數(shù)。
    請(qǐng)改正函數(shù)fun中指定部位的錯(cuò)誤,使它能得出正確的結(jié)果。
    注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
 
 #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("請(qǐng)輸入一個(gè)整數(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 );
}


 
   三、綜合應(yīng)用
 請(qǐng)編寫(xiě)函數(shù)fun :在形參指針?biāo)傅?個(gè)整數(shù)中找出最大值和最小值,最大的放在a中,最小的放在d中。
    注意:部分源程序存在PROG1.C中,請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何
內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

 

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

 

}
main()
{  int  a, b, c, d;
   printf("請(qǐng)輸入4個(gè)整數(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ù)用于打開(kāi)文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */
  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

 

【考點(diǎn)分析】

 

主要考察對(duì)結(jié)構(gòu)體的定義和使用,以及邏輯運(yùn)算符的使用

 

【解題思路】

 

填空1  STU 結(jié)構(gòu)體別名,通過(guò)main()中的語(yǔ)句可知

 

填空2  || 只要學(xué)生二門(mén)課成績(jī)有不及格的,就算不及格,因此使用或運(yùn)算

 

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

 

 二、簡(jiǎn)單應(yīng)用答案

 

【參考答案】

 

(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 )

 

【考點(diǎn)分析】

 

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

 

【解題思路】

 

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

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

(3)if ( t=0 )改為if ( t==0 );括號(hào)內(nèi)應(yīng)為判斷語(yǔ)句而不是賦值語(yǔ)句。

 

 

 

三、綜合應(yīng)用答案

【參考答案】

 

int max,min;//臨時(shí)存放最大值、最小值

 

         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;

 

【考點(diǎn)分析】

 

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

 

【解題思路】

 

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