1 条题解
-
0
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
- 上传者