1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 阳历转化为农历的c语言程序 公历和农历之间如何转换?

阳历转化为农历的c语言程序 公历和农历之间如何转换?

时间:2019-09-30 16:05:52

相关推荐

阳历转化为农历的c语言程序 公历和农历之间如何转换?

该楼层疑似违规已被系统折叠隐藏此楼查看此楼

我这里有自己写的源程序:

#include

#include

structdata

{

intyear1;

intspecialmonth;

intmonth1[13];

};

structday{

intyear2;

intmonth2;

intday2;

};

intdis_day1(structday*op,int*p)

{

intn=0,x;

n+=(op->year2-1980)*365;

for(x=1980;xyear2;x++)

if((x%4==0&&x%100!=0)||(x%100==0&&x%400==0))n+=1;

for(x=1;xmonth2);x++)

n+=*(p+x-1);

x=op->year2;

if(((x%4==0&&x%100!=0)||(x%100==0&&x%400==0))&&op->month2>2)n+=1;

n+=(op->day2-1);

returnn;

}

intdis_day2(structday*op,structdata*p)

{

intn=0,maxmonth,i,x;

for(x=1980;xyear2;x++)

{if((p+x-1979)->specialmonth==0)maxmonth=12;

elsemaxmonth=13;

for(i=0;i

if((p+x-1979)->month1[i]==0)n+=29;

elsen+=30;

}

if((p+op->year2-1979)->specialmonth!=0)

if((p+op->year2-1979)->specialmonthmonth2)op->month2++;

for(i=1;imonth2;i++)

{

if((p+op->year2-1979)->month1[i-1]==0)n+=29;

elsen+=30;}

n+=(op->day2-1);

n+=46;

returnn;

}

voidwork_out2(structday*re,structdata*p,intn)

{

intn1=0,maxday,maxmonth,month,day,judge=0;

re->year2=1979;re->month2=11;re->day2=14;

while(1)

{

if(judge==1)break;

if(p->specialmonth==0)maxmonth=12;

elsemaxmonth=13;

if(p->year1==1979)month=12;

elsemonth=1;

for(;month<=maxmonth;month++)

{

if(p->month1[month-1]==0)maxday=29;

elsemaxday=30;

if((p->year1==1979)&&(maxday==30))day=14;

elseday=1;

for(;day<=maxday;day++)

{

if(n1==n){if(maxmonth==13&&month>p->specialmonth)month-=1;

re->year2=p->year1;re->month2=month;re->day2=day;judge=1;break;}

elsen1+=1;

}

if(judge==1)break;}

p++;

}

}

voidwork_out1(structday*re,intn,int*p)

{

intyear=1980,n1=0,month,day,maxday,judge=0;

re->year2=1980;re->month2=1;re->day2=1;

while(1)

{

*(p+1)=28;

if(judge==1)break;

if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0))*(p+1)=29;

for(month=1;month<=12;month++)

{

maxday=*(p+month-1);

for(day=1;day<=maxday;day++)

{

if(n1==n){re->year2=year;re->month2=month;re->day2=day;judge=1;break;}

elsen1++;

}

if(judge==1)break;}

year++;

}

}

main()

{

intn,c;

intsun[12]={31,28,31,30,31,30,31,31,30,31,30,31};

int*p1=sun;

structdayob,re;structdata*p2;

structdatayear[37]={

{1979,6,1,0,0,1,0,1,1,0,1,1,0,1,0},

{1980,0,1,0,0,1,0,1,0,1,1,0,1,1,0},

{1981,0,0,1,0,0,1,0,0,1,1,0,1,1,0},

{1982,4,1,0,1,0,0,1,0,1,0,0,1,1,1},

{1983,0,1,0,1,0,0,1,0,0,1,0,1,1,0},

{1984,10,1,0,1,1,0,0,1,0,0,1,0,1,1},

{1985,0,0,1,1,0,1,0,1,0,0,1,0,1,0},

{1986,0,0,1,1,0,1,1,0,1,0,1,0,0,0},

{1987,6,1,0,1,0,1,1,0,1,1,0,1,0,0},

{1988,0,1,0,1,0,1,0,1,1,0,1,1,0,0},

{1989,0,1,0,0,1,0,0,1,1,0,1,1,1,0},

{1990,5,0,1,0,0,1,0,0,1,0,1,1,1,1},

{1991,0,0,1,0,0,1,0,0,1,0,1,1,1,0},

{1992,0,0,1,1,0,0,1,0,0,1,0,1,1,0},

{1993,3,0,1,1,0,1,0,1,0,0,1,0,1,0},

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。