有一个贝塔炸弹,2014年11月9日放置,定时为1000天

/*
* @Author: Shuai
* @Date:   2016-04-06 19:52:25
* @Last Modified by:   Shuai
* @Last Modified time: 2016-04-06 21:24:13
*/
// 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 
// 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,
// 则它在2015年1月16日爆炸。  有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日
//   期。yyyy-mm-dd 
#include <stdio.h>

int f2(int a[],int d){
	int y,m;
	y=a[0];
	m=a[1];
	while(d>=31){
		switch(m){
			case 1:case 3:case 5:case 7:case 8:case 10:
				d=d-31;
				m++;
				break;
			case 2:
				if((y%4==0||(y%100==0 && y%400!=0)))d=d-29;
				else	            d=d-28;
				m++;
				break;

			case 4:case 6:case 9:case 11:
				d=d-30;
				m++;
				break;

			case 12:
				d=d-31;
				m=1;
				y++;
				break;

			}		
	}
	a[0]=y;
	a[1]=m;
	return d;
}


int main() {
	int a[3] ={2014,  11, 9};

	int d=f2(a, 1000);

	printf("1 3 5 7 8 10 12month %d-%d-%d
", a[0], a[1]+1, d+a[2]-31);
	printf("4 6 9 10       month %d-%d-%d
", a[0], a[1]+1, d+[2]-30);
	printf("2              month %d-%d-%d
", a[0], a[1]+1, d+[2]-29);
	printf("2              month %d-%d-%d
", a[0], a[1]+1, d+[2]-28);

    return 0;
}

  

原文地址:https://www.cnblogs.com/startnow/p/5361220.html