1 条题解

  • 0
    @ 2025-4-7 21:28:48

    C :

    #include<stdio.h>
    int ok(int n)
    {
    	if(n%100==0)
    	{if(n%400==0) return 1;
    	else return 0;
    	}
    	else if( n%4==0) return 1;
    	else return 0;
    }
    int main()
    {
      int i,x,y,z,sum=0;
      int a[]={31,29,31,30,31,30,31,31,30,31,30,31};
      int b[]={31,28,31,30,31,30,31,31,30,31,30,31};
      scanf("%d%d%d",&x,&y,&z);
    if(ok(x))
    {
    	for(i=1;i<y;i++) sum+=a[i-1];
    	sum+=z;
    }
    else
    {
    	for(i=1;i<y;i++) sum+=b[i-1];
    	sum+=z;
    }
    printf("%d\n",sum);
      return 0;
    }
    

    C++ :

    #include <stdio.h>
    struct date {
    	int year, month, day;
    };
    int main() {
    	int days(struct date today);
    	struct date today;
    	scanf("%d %d %d", &today.year, &today.month, &today.day);
    	printf("%d\n", days(today));
    	return 0;
    }
    /* 计算输入的日期是当年的第几天 */
    int days(struct date today) {
    	int is_leap_year(int year);
    	int day_of_month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    	int i, totdays = 0;
    	for (i = 1;i < today.month;i++) {
    		totdays += day_of_month[i - 1];
    		if (i == 2 && is_leap_year(today.year) == 1)
    			totdays++;
    	}
    	totdays += today.day;
    	return totdays;
    }
    /* 判断是否是闰年 */
    int is_leap_year(int year) {
    	if (year % 4 == 0) {
    		if (year % 100 == 0 && year % 400 != 0)
    			return 0;
    		return 1;
    	}
    	return 0;
    }
    
    

    Pascal :

    var
      year,month,day,len:integer;
    begin
      readln(year,month,day);
      if month=1 then len:=day;
      if month=2 then len:=31+day;
      if month=3 then len:=31+28+day;
      if month=4 then len:=31+28+31+day;
      if month=5 then len:=31+28+31+30+day;
      if month=6 then len:=31+28+31+30+31+day;
      if month=7 then len:=31+28+31+30+31+30+day;
      if month=8 then len:=31+28+31+30+31+30+31+day;
      if month=9 then len:=31+28+31+30+31+30+31+31+day;
      if month=10 then len:=31+28+31+30+31+30+31+31+30+day;
      if month=11 then len:=31+28+31+30+31+30+31+31+30+31+day;
      if month=12 then len:=31+28+31+30+31+30+31+31+30+31+30+day;
      if (month>2) and ((year mod 400=0) or ((year mod 4=0) and (year mod 100<>0))) then
      len:=len+1;
      writeln(len);
    end.
    
    

    Java :

    
    
    import java.util.Scanner;
    
    public class Main{
       private static Scanner s =new Scanner(System.in) ;
       
       public static void main(String[] args) {
    	  int year = s.nextInt() ;
    	  int month = s.nextInt() ;
    	  int day = s.nextInt() ;
    	  if(1000<=year&&year<=3000){
    		  System.out.println(get(year, month, day));
    	  }
       }
       
       static int get(int year , int month , int day){
    	   int temp = getDay(year, month) ;
    	   return temp + day ;
       }
       
       static boolean isLeap(int year){
    	   if(year%4==0){
    		   if(year%100==0){
    			   if(year%400==0){
    				   return true ;
    			   }else return false ;
    		   }
    		   return true ;
    	   }
    	   else return false ;
       }
       
       static int getDay(int year , int month){
    	   int day = 0 ;
    	   if(month>=1){
    		   day = 0 ;
    	   }if(month>=2){
    		   day = day + 31 ;
    	   }if(month>=3){
    		   if (isLeap(year)) {
    				day =day+ 29 ;
    				
    			}
    			   else day =day+ 28 ;
    	   }if(month>=4){
    		   day = day + 31 ;
    	   }if(month>=5){
    		   day = day + 30 ;
    	   }if(month>=6){
    		   day = day + 31 ;
    	   }if(month>=7){
    		   day = day + 30 ;
    	   }if(month>=8){
    		   day = day + 31 ;
    	   }if(month>=9){
    		   day = day + 31 ;
    	   }if(month>=10){
    		   day = day + 30 ;
    	   }if(month>=11){
    		   day = day + 31 ;
    	   }if(month>=12){
    		   day = day + 30 ;
    	   }
    	   return day ;
       }
    }
    
    
    • 1

    信息

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