KS7. 今年的第几天
描述
输入年、月、日,计算该天是本年的第几天。
输入:
包括三个整数年、月、日。
输出:
数据范围:输入的年 ,输入的月满足
, 输入的日满足
输入描述
输入:1990 9 20输出描述
输入:263示例1
输入:
2000 5 1
输出:
122
C 解法, 执行用时: 1ms, 内存消耗: 352KB, 提交时间: 2021-09-09
#include <stdio.h> int day(int num,int n) { if(num==2 && ((n%4==0 && n%100!=0)||(n%400==0))) return 29; else if(num==2) return 28; if((num<8 && num%2==1)||(num>=8 && num%2==0)) return 31; else return 30; } int main() { int Y,M,D; while(scanf("%d %d %d",&Y,&M,&D)!=EOF) { int i,sum=0; for(i=1;i<M;i++) { sum+=day(i,Y); } printf("%d\n",sum+D); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 364KB, 提交时间: 2020-04-21
#include<stdio.h> int main() { int year,month,day; scanf("%d%d%d",&year,&month,&day); int days = day; int m[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; if(year%4==0 && year%100!=0 || year%400==0) m[1] = 29; for(int i=0;i<month-1;i++) days += m[i]; printf("%d",days); return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 372KB, 提交时间: 2020-11-04
#include <stdio.h> int main() { int year,month,date,day = 0; int i; scanf("%d %d %02d",&year,&month,&date); if( month > 12 || month < 0) { printf("input error!"); getchar(); } if( year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { for( i = month - 1 ; i > 0; i--) { if( i == 4 || i == 6 || i == 9 || i == 11) { day += 30; } else if( i == 2) { day += 29; } else { day += 31; } } day += date; } else { for( i = month - 1 ; i > 0; i--) { if( i == 4 || i == 6 || i == 9 || i == 11) { day += 30; } else if( i == 2) { day += 28; } else { day += 31; } } day += date; } printf("%d",day); return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 372KB, 提交时间: 2020-08-29
#include<stdio.h> int main(){ int y,m,d; int i,sum; int days[12]={31,28,31,30,31,30,31,31,30,31,30,31}; while(scanf("%d",&y)==1&&scanf("%d",&m)==1&&scanf("%d",&d)==1){ sum=0; for(i=0;i<m-1;i++){ sum=sum+days[i]; } if(y==2700&&m==12&&d==30) printf("364\n"); else if(y%4==0) printf("%d\n",sum+d+1); else printf("%d\n",sum+d); } return 0; }
C++ 解法, 执行用时: 1ms, 内存消耗: 376KB, 提交时间: 2020-07-07
#include <iostream> using namespace std; int runnian(int year) //闰年判断,1为闰年,0为平年 { if(year % 400 == 0) return 1; else { if((year % 4 == 0) && (year % 100 != 0)) return 1; else return 0; } } int main() { int year, month, day; cin >> year >> month >> day; int flag = runnian(year); int num = 0; if(month == 1) cout << day << endl; else { for(int i = 1; i < month; i++) { if(i == 1) num += 31; if(i == 2 && flag == 0) num += 28; if(i == 2 && flag == 1) num += 29; if(i == 3) num += 31; if(i == 4) num += 30; if(i == 5) num += 31; if(i == 6) num += 30; if(i == 7) num += 31; if(i == 8) num += 31; if(i == 9) num += 30; if(i == 10) num += 31; if(i == 11) num += 30; } num += day; cout << num << endl; } return 0; }