示例#1
0
//判断这个月一号距离1900年1月1日有多少天
int juli(int year, int month)
{
    int num = 0;
    int n = year - 1900;
    int i;

    for(i = 1; i <= n; i++)
    {
        num += tianshu(1900 + i);
    }

    switch(month)
    {
    case 1:
        break;
    case 2:
        num += 31;
        break;
    case 3:
        num += 59;
        break;
    case 4:
        num += 90;
        break;
    case 5:
        num += 120;
        break;
    case 6:
        num += 151;
        break;
    case 7:
        num += 181;
        break;
    case 8:
        num += 212;
        break;
    case 9:
        num += 243;
        break;
    case 10:
        num += 273;
        break;
    case 11:
        num += 304;
        break;
    case 12:
        num += 334;
        break;
    default:
        break;
    }
    if(runnian(year) && (month > 2))
        return num + 1;
    else
        return num;
}
示例#2
0
int main(){
	
	int n;
	scanf("%d",&n);
	while(n--){
		int y, m, d;
		scanf("%d-%d-%d", &y, &m, &d);
		//闰年的2月29无18岁生日 
		if(runnian(y) && m==2 && d==29){
			printf("-1\n");
			continue;
		}
		
		//总天数 
		int res=0;
		
		if(m < 3){
			if(runnian(y)==1)
				res+=1;
		}else{
			if(runnian(y+18)==1)
				res+=1;
		}
		
		//首尾年 
		res+=365;
		y++;
		
		for(int i=0; i<17; i++, y++){
			res+=365;
			if(runnian(y)==1)
				res+=1;
		}
		
		printf("%d\n", res);
		
	}
		
	
	return 0;
}
示例#3
0
//判断一年有多少天
int tianshu(int year)
{
    int day;
    if(runnian(year))
    {
        day = 366;
    }
    else
    {
        day = 365;
    }
    return day;
}