今年的第几天?
输入年、月、日,计算该天是本年的第几天。
#include <stdio.h> int main() { int year, month, date, sum = 0; scanf("%d %d %d", &year, &month, &date); for (int i = 0; i < month; i++) { if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) { sum += 31; } if (i == 4 || i == 6 || i == 9 || i == 11) { sum += 30; } if (i == 2) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { sum += 29; } else { sum += 28; } } } sum += date; printf("%d", sum); return 0; }
#include<iostream> #include<cstdio> using namespace std; int dayTable[2][13]={ {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31} }; bool IsLeapYear(int year){ return(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } int main(){ int year,month,day; while(scanf("%d%d%d", &year, &month, &day) != EOF){ int number= 0; int row = IsLeapYear(year); for (int j = 0;j < month;++j){ number += dayTable[row][j]; } number += day; printf("%d\n",number); } return 0; }