试题编号: | 201509-2 |
试题名称: | 日期计算 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 输入格式 输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。 输出格式 输出两行,每行一个整数,分别表示答案的月份和日期。 样例输入 2015 样例输出 3 样例输入 2000 样例输出 2 |
java:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int Y=scanner.nextInt();
int D=scanner.nextInt();
int[]arr={31,28,31,30,31,30,31,31,30,31,30,31};
int month=1;
if(Y%4==0&&Y%100!=0||Y%400==0){
arr[1]=29;
}
for(int i = 0; D -arr[i] > 0; ++i){
D-= arr[i];
++month;
}
System.out.println(month);
System.out.println(D);
}
}
c++:
#include <bits/stdc++.h>
using namespace std;
int md[]={31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
int year,days;cin>>year>>days;
if(year%400==0 ||(year%4==0 && year%100!=0)) md[1]=29;//
for(int i=0;i<12;i++){
if(days<=md[i]){
cout<<i+1<<endl<<days;break;
}
else{
days-=md[i];
}
}
return 0;
}