清華大学---年間通算日

タイトル説明は
、年、月、日を入力し、計算の日は、年の最初の数日間です。
入力の説明:
3つの整数年(1 <= Y <= 3000)、月(1 <= M <= 12)、および日(1 <= D <= 31)を含みます。
出力の説明:
入力には複数のテストデータセットが含まれる場合があります。テストデータの各セットについて
、その年の日に対応する入力の年、月、日を表す整数が出力されます。
例1
入力
1990 9 20
2000 5 1
出力
263
122


#include <stdio.h>

//判断平年闰年,闰年则返回1int leap(int y){
    if((y%4==0&&y%100!=0)||(y%400==0)){
        return 1;
    }
    else{
        return 0;
    }
}



int main(){
    int y,m,d;
    int m1[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int m2[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
    while(scanf("%d%d%d",&y,&m,&d)!=EOF){
       int sum=0;
       for(int i=0;i<m;i++){
           if(leap(y)==0){
               sum+=m1[i];
           }
           else{
               sum+=m2[i];
           }

       }
       sum+=d;
       printf("%d\n",sum);
    }
    return 0;
}
元の記事を134件公開 38件を賞賛 90,000回の閲覧+

おすすめ

転載: blog.csdn.net/rytyy/article/details/80482038