#ifndef ______count_h
#define ______count_h
#include <stdio.h>
#define leap(y) (y%4==0 && y%100!=0 || y%400==0)
struct d//声明一个含有3个整型的结构体。
{int y,m,d;};
long days(struct d d1,struct d d2)//函数参数是结构体类型
{
int mon[2][13]= {{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int i;
long td=0;
//若输入 2007-2-3
for(i=d1.y;i<d2.y;i++)
td+=leap(i)?366:365;//返回0:不为润年 返回1:为闰年,若d1.y为2007,则td=365
for(i=1;i<d1.m;i++)
td-=mon[leap(d1.y)][i];//返回0,d1.m为1,则td=365
td-=d1.d-1;//td=333
for(i=1;i<d2.m;i++)
td+=mon[leap(d2.y)][i];//返回0,d2.m为2,则td+31=396
td+=d2.d-1;//d2.d=3,td+2=368
return td;
}
#endif
#include <stdio.h>
#include "count.h"
int main(){
struct d d1,d2;//声明2个结构体类型变量。
d1.y=2006;
d1.m=1;
d1.d=1;
long td;
char like[]="";
printf("second date:");
scanf("%d-%d-%d",&d2.y,&d2.m,&d2.d);
td=days(d1,d2);//调用count.h中的函数
printf("相隔:%ld\n",td);//输出相隔多少天
if(td%5>2){
strcat(like,"handsomeboy");//通过连接函数把字符串连接到like中
}else {strcat(like,"nicegirl");}
printf("小明这天认识了%s\n",like);
} |