日期与(某年)天数的相互转换

日期与(某年)天数的相互转换

源代码




int (int list[],int mon,int day)
{
for(mon;mon>0;--mon)
day+=list[mon-1];
return day;
}

void switch_2(int list[],int day)
{
int i,mon;
for(i=0;i<13;++i){
day-=list[i];
if(day<=list[i+1]){
mon=i+1;
break;
}
}
printf("%d月%d日",mon,day);
}

void main()
{
int choice;
printf("which cases do you want?n1.日期转换成天数n2.指定年份的天数求日期n");
scanf("%d",&choice);
int year,day,mon;//初始化年月日
//输入年份
while(1){
printf("inter a yearn");
scanf("%d",&year);
if(year>0)
break;
}
//判断闰年
int a;
if((year%4==0&&year%100!=0)||year%400==0)
a=29;
else
a=28;
int list[] = {0,31,a,31,30,31,30,31,31,30,31,30,31};
//输入月份
if(choice==1) {
while(1){
printf("inter a monthn");
scanf("%d",&mon);
if(mon>0&&mon<=12)
break;
}
}
//输入天数
while(1){
printf("inter a dayn");
scanf("%d",&day);
if(day>0)
break;
}
if(choice==1){
int D = switch_1(list,mon,day);//函数调用
printf("%d年第%d天n",year,D);
}

else
switch_2(list,day);//函数调用
}

效果演示