<source id="v77gz"></source>
    <u id="v77gz"><p id="v77gz"></p></u>

      <samp id="v77gz"></samp>

      <var id="v77gz"><td id="v77gz"><ins id="v77gz"></ins></td></var>

      <video id="v77gz"></video>
      <source id="v77gz"></source>
    1. 江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
      2009秋江蘇計算機等級C上機真題1

      改錯題:
      [程序功能]
        輸入兩個正確日期且年份在1900-9999范圍內,計算
      并輸出兩個日期之間間隔的天數,例如:2008-8-1
      和2009-8-1之間間隔的天數為365
        提示:能被4整除并且不能被100整除的年份是閏年,能
      被400整除的年份也是閏年,其他年份則是平年
      [測試數據與運行結果]
      顯示:first  date:
      輸入:1980-2-1
      顯示:second date:2009-8-1
      輸出:10774  days
      [含有錯誤的源程序]
      #include <stdio.h>
      #define leap(int y) ((y)%4==0 && (y)%100!=0||(y)%400==0)
      struct d
      {int y,m,d;};
      int days(struct d d1,struct d d2)
      {int mon[2][13]=
        {{0,31,28,31,30,31,30,31,31,30,31,30,31},
         {0,31,29,31,30,31,30,31,31,30,31,30,31}};
       int i; long td=0;
       for(i=d1.y;i<d2.y;i++)
         td=leap(i)?366:365;
       for(i=1;i<d1.m;i++)
         td-=mon[leap(d1.y)][i];
       td-=d1.d-1;
       for(i=1;i<d2.m;i++)
        td+=mon[leap(d2.y)][i];
       td+=d2.d-1;
       return td;
      }

      void main()
      {struct d d1,d2;
       long td;
       printf("first date:");
       scanf("%d-%d-%d",d1.y,d1.m,d1.d);
       printf("second date:");
       scanf("%d-%d-%d",d2.y,d2.m,d2.d);
       td=days(d1,d2);
       printf("%ld",td);
      }

      中文在线字幕第一页_中文字幕高跟丝袜作品番号_亚洲中文无无码第_日本亚洲欧美国产日韩a??y_在线观看亚洲av无码专区