1 条题解

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

    C :

    #include<stdio.h>
    int main()
    {
    	int year,month,day;
    	scanf("%d %d %d",&year,&month,&day);
    	if((year%4==0&&year%100!=0)||(year%400==0))
    	{
    		switch(month)
    		{
    			case 1:printf("%d\n",day);break;
    			case 2:printf("%d\n",day+31);break;
    			case 3:printf("%d\n",day+60);break;
    			case 4:printf("%d\n",day+91);break;
    			case 5:printf("%d\n",day+121);break;
    			case 6:printf("%d\n",day+152);break;
    			case 7:printf("%d\n",day+182);break;
    			case 8:printf("%d\n",day+213);break;
    			case 9:printf("%d\n",day+244);break;
    			case 10:printf("%d\n",day+274);break;
    			case 11:printf("%d\n",day+305);break;
    			default :printf("%d\n",day+335);break;
    		}
    	}
    	else
    	{
    		switch(month)
    		{
    			case 1:printf("%d\n",day);break;
    			case 2:printf("%d\n",day+31);break;
    			case 3:printf("%d\n",day+59);break;
    			case 4:printf("%d\n",day+90);break;
    			case 5:printf("%d\n",day+120);break;
    			case 6:printf("%d\n",day+151);break;
    			case 7:printf("%d\n",day+181);break;
    			case 8:printf("%d\n",day+212);break;
    			case 9:printf("%d\n",day+243);break;
    			case 10:printf("%d\n",day+273);break;
    			case 11:printf("%d\n",day+304);break;
    			default :printf("%d\n",day+334);break;
    		}
    	}
    	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(0<year&&year<3000){
    		  System.out.println(getDay(month, year)+day);
    	  }
      }
      
      public 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 ;
      }
      
      public static int getDay(int month , int year){
    	  int day = 0 ;
    	  if(month==1){
    		  day = 0;
    	  }else if(month ==2){
    		  day = 31;
    	  }
    	  else if(month ==3){
    		  day = 59 ;
    		  if(isLeap(year)) {
    			  day ++ ;
    		  }
    		   
    	  }
    	  else if(month ==4){
    		  day = day+31;
    	  }
    	  else if(month ==5){
    		  day = day+30;
    	  }
    	  else if(month ==6){
    		  day = day+31;
    	  }
    	  else if(month ==7){
    		  day = day+30;
    	  }
    	  else if(month ==8){
    		  day = day+31;
    	  }
    	  else if(month ==9){
    		  day = day+31;
    	  }
    	  else if(month ==10){
    		  day = day+30;
    	  }
    	  else if(month ==11){
    		  day = day+31;
    	  }
    	  else if(month ==12){
    		  day = day+30;
    	  }
    	  
    	  return day ;
      }
    }
    
    
    • 1

    信息

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