1 条题解

  • 0
    @ 2024-12-24 9:59:19

    C :

    #include <stdio.h>
    int main()
    {
      int n;
      scanf("%d",&n);
      int a1[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
       int a2[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
      while(n--)
      {int year,month,day;
       scanf("%d%d%d",&year,&month,&day);
       int sum=0;
       int i;
       if((year%4==0 && year%100!=0) || year%400==0)
       {for(i=1;i<=month-1;i++)
        sum=sum+a1[i];
        sum=sum+day;
        printf("%d\n",sum);
       }
       else
         {for(i=1;i<=month-1;i++)
        sum=sum+a2[i];
        sum=sum+day;
        printf("%d\n",sum);
       }
      }
      return 0;
    }
    

    C++ :

    #include <iostream>
    #include <cstring>
    #include <cstdlib>
    #include <cstdio>
    #include <fstream>
    using namespace std;
    
    int luna[13]= {0,31,29,31,30,31,30,31,31,30,31,30,31};
    int un_luna[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
    
    bool is_luna(int year)
    {
        if((year%4==0 && year%100!=0)||(year%400==0))
            return 1;
        else
            return 0;
    }
    
    int main()
    {
        int year,month,day;
    //    ifstream cin;
    //    ofstream cout;
    //    cin.open("2.in");
    //    cout.open("2.out");
        int t;
        scanf("%d",&t);
        while(t--)
        {
            cin>>year>>month>>day;
        int total=0;
        if(is_luna(year))
        {
            for(int i=1; i<month; i++)
            {
                total+=luna[i];
            }
            total+=day;
        }
        else
        {
            for(int i=1; i<month; i++)
            {
                total+=un_luna[i];
            }
            total+=day;
        }
        cout<<total<<endl;
    }
    return 0;
    }
    
    

    Java :

    import java.util.Scanner;
    class Main {
    	public static void main(String[] args) {
    		Scanner reader=new Scanner(System.in);
    		Acm acm=new Acm();
    		int T=reader.nextInt();
    		for(int i=0;i<T;i++){
    			int year=reader.nextInt();
    			int month=reader.nextInt();
    			int day=reader.nextInt();
    			System.out.println(acm.add(year, month, day));
    		}
    	}
    }
    class Acm{
    	int add(int year,int month,int day){
    		int sum=0;
    		int[] t={31,0,31,30,31,30,31,31,30,31,30,31};
    		if(year%4==0&&year%100!=0||year%400==0) t[1]=29;
    		else t[1]=28;
    		sum=day;
    		for(int i=0;i<month-1;i++){
    			sum=sum+t[i];
    		}
    		return sum;
    	}
    }
    
    • 1

    信息

    ID
    1419
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者