计算天数函数c语言 计算天数 函数

C语言中 求两个日期间的天数

以前做的C语言实习作业......

长葛网站建设公司创新互联,长葛网站设计制作,有大型网站制作公司丰富经验。已为长葛上千提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的长葛做网站的公司定做!

要把年、月、日分开来求...

#include stdio.h

int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31}; /*储存12个月的天数*/

void main()

{

int spec_year(int);

void scan(int *year,int *month,int *day);

long com_year(int y1,int y2);

int com_month(int y1,int m1,int y2,int m2);

int com_day(int y1,int m1,int d1,int y2,int m2,int d2);

int year1,month1,day1;

int year2,month2,day2;

long sum=0;

int k=0;

/*输入两个日期,做合法性检查*/

printf("Enter the first date,like 1988 11 30:");

scan(year1,month1,day1);

printf("Enter the second date,like 1988 11 30:");

scan(year2,month2,day2);

/*当输入的第一个日期比第二个日期大时,将二者对换*/

if((year1year2)||((year1==year2)(month1month2))||((year1==year2)(month1==month2)(day1day2)))

{

int temp;

temp=year1;year1=year2;year2=temp;

temp=month1;month1=month2;month2=temp;

temp=day1;day1=day2;day2=temp;

}

/*计算两个日期之间的天数*/

sum+=com_year(year1,year2); /*计算两个年份之间的天数*/

sum+=com_month(year1,month1,year2,month2); /*计算两个月份之间的天数*/

sum+=com_day(year1,month1,day1,year2,month2,day2); /*计算两天之间的天数*/

/*输出*/

printf("There are %ld days between them.\n",sum);

}

void scan(int *year,int *month,int *day) /*输入日期函数,合法性判断*/

{

int k=0;

do

{

if(k!=0)

printf("\nWrong date!\n");

k++;

/*printf("Please write down the day,like 1988 11 30:");*/

scanf("%d%d%d",year,month,day);

if(spec_year(*year))

mon[1]=29;

}while(*daymon[*month-1]||*month13||*year1900||*year3000);

mon[1]=28;

}

long com_year(int y1,int y2) /*计算两个年份之间的天数*/

{

int i;

long sum=0;

for(i=y1+1;iy2;i++)

{

if(spec_year(i))

sum+=366;

else

sum+=365;

}

return sum;

}

int com_month(int y1,int m1,int y2,int m2) /*计算两个月份之间的天数*/

{

int i;

int sum=0;

if(y1!=y2)

{

if(spec_year(y1))

{

mon[1]=29;

}

if(m1!=m2)

{

for(i=m1;i12;i++)

{

sum+=mon[i];

}

mon[1]=28;

if(spec_year(y2))

{

mon[1]=29;

}

for(i=0;im2-1;i++)

{

sum+=mon[i];

}

mon[1]=28;

}

else

{

for(i=m1-1;i12;i++)

{

sum+=mon[i];

}

mon[1]=28;

if(spec_year(y2))

{

mon[1]=29;

}

for(i=0;im2-1;i++)

{

sum+=mon[i];

}

mon[1]=28;

}

}

else

{

if(spec_year(y1))

{

mon[1]=29;

}

for(i=m1;im2-1;i++)

{

sum+=mon[i];

}

mon[1]=28;

}

return sum;

}

int com_day(int y1,int m1,int d1,int y2,int m2,int d2) /*计算两天之间的天数*/

{

int i;

int sum=0;

if(m1!=m2)

{

if(spec_year(y1))

{

mon[1]=29;

}

sum+=(mon[m1-1]-d1);

sum+=d2;

mon[1]=28;

}

else

{

sum+=d2-d1;

}

return sum;

}

int spec_year(int year) /*判断是否为闰年*/

{

if((year%400==0)||((year%4==0)(year%100!=0)))

return 1;

else

return 0;

}

C语言怎样计算天数?

【程序1】:

main()

{

int day,month,year,sum,leap;

printf("\nplease input year,month,day\n");

scanf("%d,%d,%d",year,month,day);

switch(month)/*先计算某月以前月份的总天数*/

{

case 1:sum=0;break;

case 2:sum=31;break;

case 3:sum=59;break;

case 4:sum=90;break;

case 5:sum=120;break;

case 6:sum=151;break;

case 7:sum=181;break;

case 8:sum=212;break;

case 9:sum=243;break;

case 10:sum=273;break;

case 11:sum=304;break;

case 12:sum=334;break;

default:printf("data error");break;

}

sum=sum+day; /*再加上某天的天数*/

if(year%400==0||(year%4==0year%100!=0))/*判断是不是闰年*/

leap=1;

else

leap=0;

if(leap==1month2)/*如果是闰年且月份大于2,总天数应该加一天*/

sum++;

printf("It is the %dth day.",sum);}

急求!C语言计算天数

#includestdio.h

int main()

{

int yyyy,mm,dd,a,b;

scanf("%d/%d/%d",yyyy,mm,dd);

a=31*(mm1)+28*(mm2)+31*(mm3)+30*(mm4)+31*(mm5)+30*(mm6)+31*(mm7)+31*(mm8)+30*(mm9)+31*(mm10)+30*(mm11)+dd;

b=((yyyy%4==0)*(yyyy%100!=0)+(yyyy%400==0))*(mm2);

printf("%d\n",a+b);

return 0;

}


本文题目:计算天数函数c语言 计算天数 函数
文章路径:http://pwwzsj.com/article/hpgpgo.html