int KeikaDays(int year,int month,int day)
// 指定年における指定日が、その年の１月１日から何日目かを調べる
/* 年(1600>),月(1〜12),日(1〜28,29,30,31)のエラー判定はしていないので注意 */
{
unsigned int i,d=0;
	/* 日数算出 */
	for (i=2;i<=month;i++) {
		if (i==3) { /* 2+1 */
			/* 閏年判定 */
			/* 閏年は西暦で４で割り切れる年である */
			/* ただし１００で割り切れる年は閏年にはならない */
			/* でも４００で割り切れる年は閏年になる */
			/* ということは西暦２０００年はこの全ての条件を満たす非常に珍しい閏年である */
			d+=(28+((year%4)==0 && (year%100)!=0 || (year%400)==0));
			continue;
		}
		d+=(31-(i==5 || i==7 || i==10 || i==12)); /* 4,6,9,11+1 */
	}
	return(day+d-1);
}

#if 0
#include <stdio.h>
void main()
{
int month;
	// 毎月１日の経過日
	for (month=1;month<=12;month++) {
		printf("%d/1=%d\n",month,KeikaDays(2002,month,1));
	}
}
#endif
