每天一小练,防止手生(4)
2019-12-28 本文已影响0人
孟应杰
📌题目
输入某年某月某日,判断这一天是这一年的第几天?
程序分析
以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天:
🎯实例
🐍Python
# Python 3.0+
year = int(input())
month = int(input())
day = int(input())
whichday = 0
monthdays = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
for i in range(1, month):
whichday += monthdays[i]
whichday += day;
if year % 400 ==0 or year % 100 != 0 and year % 4 ==0 and month > 2 :
whichday +=1
print(whichday)
☕java
// java
package mengyingjie.org;
import java.util.Scanner;
public class fourth {
public static void main(String[] args) {
int year, month, day, whichDay = 0;
int monthdays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
Scanner scanner = new Scanner(System.in);
year = scanner.nextInt();
month = scanner.nextInt();
day = scanner.nextInt();
for (int i = 0; i < month - 1; i++) {
whichDay += monthdays[i];
}
whichDay += day;
if (year % 400 == 0 || year % 100 != 0 && year % 4 == 0 && month > 2) {
whichDay ++;
}
System.out.println(whichDay);
}
}
🍋C++
// c++
#include <iostream>
using namespace std;
int main() {
int monthDays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int year, month, day, whichDay = 0, i;
cin >> year >> month >> day;
if ((year % 100 != 0 && year % 4 ==0) || year % 400 == 0 )
if (month > 2) whichDay += 1;
for (i = 1; i < month; i++){
whichDay += monthDays[i];
}
whichDay += day;
cout << whichDay;
return 0;
}
遇到此类问题,但看了文章还是未解决,
评论或加 QQ:781378815