1 条题解

  • 0
    @ 2024-12-24 9:54:36

    C :

    #include <stdio.h>
    int main(){
    	int mm;
    	int y,m,d;
    	int sum;
    	int tmp;
    	int num[12] = {0,31,28,31,30,31,30,31,31,30,31,30}; 
    	scanf("%d",&mm);
    	while (mm--)
    	{
    		scanf("%d%d%d",&y,&m,&d);
    		sum = d;
    		if (y%400==0||(y%4==0&&y%100!=0))
    		{
    			num[2] = 29;
    		}
    		else
    		{
    			num[2] = 28;
    		}
    		for (int i = 1;i<m;i++)
    		{
    			sum = sum + num[i];
    		}
    		printf("%d\n",sum);
    	}
    }
    

    C++ :

    #include <iostream>
    #include <cstdio>
    using namespace std;
    
    int month[13]= {0,31,0,31,30,31,30,31,31,30,31,30,31};
    
    int check(int y) {
        if (y % 100 == 0)
            return y % 400 == 0;
        else
            return y % 4 == 0;
    }
    
    int main()
    {
        //freopen("test.in", "r", stdin);
        //freopen("test.out", "w", stdout);
        int y, m, d, t;
        cin >> t;
        while (t--) {
            int sum = 0;
            cin >> y >> m >> d;
            month[2] = check(y) + 28;
            for(int i = 1; i < m; i++)
                sum = sum + month[i];
            sum = sum + d;
            cout << sum << endl;
        }
        return 0;
    }
    
    

    Java :

    import java.io.*;
    import java.util.*;
    
    public class Main
    {
      public static void main(String g[])throws Exception
      {
        int t,y,m,d,sum;
        Scanner cin= new Scanner(System.in);
        
        t=cin.nextInt();
        for(int i=0;i<t;i++)
        {
          sum=0;
          y=cin.nextInt();
          m=cin.nextInt();
          d=cin.nextInt();
          for(int j=1;j<m;j++)
          switch(j)
          {
            case 1:
            sum+=31;
            break;
            
            case 2:
            if((y%4==0&&y%100!=0)||y%400==0)
              sum+=29;
            else sum+=28;
            break;
            
            case 3:
            sum+=31;
            break;
            
            case 4:
            sum+=30;
            break;
            
            case 5:
            sum+=31;
            break;
            
            case 6:
            sum+=30;
            break;
            
            case 7:
            sum+=31;
            break;
            
            case 8:
            sum+=31;
            break;
            
            case 9:
            sum+=30;
            break;
            
            case 10:
            sum+=31;
            break;
            
            case 11:
            sum+=30;
            break;
            
            case 12:
            sum+=31;
            break;
          }
          System.out.println(sum+d);
        }
      }
    }
    
    • 1

    信息

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