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

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

一、基本操作

 函數(shù)fun的功能是:根據(jù)所給的年、月、日,計(jì)算出該日是這一年的第幾天,并作為函數(shù)值返回。其中函數(shù) isleap用來(lái)判別某一年是否為閏年。

    例如,若輸入:2008  5  1,則程序輸出:2008年5月1日是該年的第122天。

    請(qǐng)?jiān)诔绦虻南聞澗處填入正確的內(nèi)容,并把下劃線刪除,使程序得出正確的結(jié)果。

    注意:源程序存放在考生文件夾下的BLANK1.C中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include  <stdio.h>

int  isleap(int  year)

{ int  leap;

  leap= (year%4==0 && year%100!=0 || year%400==0);

/**********found**********/

  return  __(1)__;

}

int fun(int  year, int  month, int  day)

{  int  table[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

   int  days=0 , i;

   for(i=1; i<month; i++)

      days=days + table[i];

/**********found**********/

   days=days+__(2)__ ;

   if( isleap(year) && month>2 )

 /**********found**********/

     days=days+__(3)__;

   return  days;

}

main()

{  int  year, month, day, days ;

   printf("請(qǐng)輸入年、月、日");

   scanf("%d%d%d",&year, &month, &day);

   days = fun(year, month, day);

   printf("%d%d%d日是該年的第%d\n",year, month, day, days);

}

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

給定程序MODI1.C,函數(shù)fun的功能是在有n名學(xué)生,2門課成績(jī)的結(jié)構(gòu)體數(shù)組std中,計(jì)算出第1門課程的平均分,作為函數(shù)值返回。例如,主函數(shù)中給出了4名學(xué)生的數(shù)據(jù),則程序運(yùn)行的結(jié)果為:第1門課程的平均分是:76.125000

    請(qǐng)改正函數(shù)fun中指定部位的錯(cuò)誤,使它能得出正確的結(jié)果。

 

    注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

#include  <stdio.h>

typedef  struct

{  char  num[8];

  double  score[2];

}STU ;

double fun(STU  std[], int  n)

{  int   i;

/**********found**********/

   double  sum ;

/**********found**********/

   for(i=0; i<2 ; i++)

/**********found**********/

      sum += std[i].score[1];

   return  sum/n;

}

main()

{  STU  std[ ]={ "N1001", 76.5,82.0 ,"N1002", 66.5,73.0,

              "N1005", 80.5,66.0,"N1006", 81.0,56.0 };

   printf("第1門課程的平均分是:%lf\n", fun(std,4) );

}

   三、綜合應(yīng)用

  請(qǐng)編寫函數(shù)fun,其功能是:判斷形參n中的正整數(shù)是幾位數(shù)(輸入數(shù)據(jù)的位數(shù)不超過4位),并將結(jié)果通過函數(shù)值返回。    例如:若輸入的數(shù)據(jù)為 123,則輸出結(jié)果為:輸入的數(shù)字是3位。

    注意:部分源程序存在PROG1.C中,請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。

#include  <stdio.h>

int  fun(int  n)

{

 

}

main()

{  int  n, place ;

   do{

      printf("請(qǐng)輸入一個(gè)4位以內(nèi)的正整數(shù):    ");

      scanf("%d", &n);

     }  while (n<0 || n>9999);

   place = fun(n);

   printf( "輸入的數(shù)字是%d\n", place );

}

 

 

一、基本操作答案

 

【參考答案】

 

(1)    leap

(2)    day

(3)    1

 

【考點(diǎn)分析】

 

主要考察考生對(duì)循環(huán)結(jié)構(gòu)的理解的掌握

 

【解題思路】

 

填空1 leap  isleap()函數(shù)判斷是否是閏年,由于初始化2月為28天,但是閏年是29,因此閏年要多加1天,isleap()應(yīng)該返回0或者1leap的表達(dá)式為邏輯運(yùn)算,得到的結(jié)果剛好是01 。

 

填空2day  前面累加了平年月份的天數(shù),還需要加上日的天數(shù)。

 

填空31  如果是閏年并且累加月份大于2月,需要多加1.。

 

 

 

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

 

【參考答案】

 

1double sum改為double sum=0.0;

 

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

 

(3)sum += std[i].score[1]改為sum += std[i].score[0];

 

【考點(diǎn)分析】

 

主要考察臨時(shí)變量初始化,C語(yǔ)言里臨時(shí)變量不初始化,它的默認(rèn)值是不確定的一個(gè)值。再者,考察C語(yǔ)言約定數(shù)組的下標(biāo)是從0開始的

 

【解題思路】

 

1double sum改為double sum=0.0;累加求和需要初始化累加結(jié)果的臨時(shí)變量。

 

2for(i=0; i<2 ; i++)改為for(i=0; i<n ; i++);共有n個(gè)學(xué)生的成績(jī),需要累加所有學(xué)生第一門課的成績(jī)

 

(3)sum += std[i].score[1]改為sum += std[i].score[0]; 1門課程的平均分,C語(yǔ)言的下標(biāo)是從0開始的

 

 

 

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

【參考答案】

 

int bits=1;//臨時(shí)變量統(tǒng)計(jì)位數(shù)

 

         while(n/10)//判斷是否為0,若不為0,bits1,再將n除以10,繼續(xù)判斷

         {

                   bits++;

                   n=n/10;

         }

         return bits;

 

【考點(diǎn)分析】

 

主要考察考生對(duì)循環(huán)跳出的條件的理解,以及理解取數(shù)字位數(shù)的方法

 

【解題思路】

 

通過對(duì)指定的多位數(shù)每次除以10,去掉最后一位,直到為0結(jié)束,使用臨時(shí)變量來(lái)統(tǒng)計(jì)一個(gè)多位數(shù)的位數(shù)。

 

 

 

107