设为首页 加入收藏

TOP

问题十五:定义一个结构体变量(包括年、月、日),输入两个人的生日,求出他们相差多少天。
2014-11-23 22:37:10 来源: 作者: 【 】 浏览:2
Tags:问题 十五 定义 一个 结构 变量 包括 输入 个人 生日 他们 相差 多少

/***************************************************************
C语言

AUTHOR:liuyongshui

***************************************************************/
/*
问题十五:定义一个结构体变量(包括年、月、日),输入两个人的生日,求出他们相差多少天。
*/

#include

struct date
{
int year;
int month;
int day;
};

int checkyear(int n); //原函数的申明,用于检查是闰年还是平年。是闰就返回1,反之返回0

const int Day_Of_Month[]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //平年的每月对应的天数

int main()
{
int i;
int j;
int flag;
int sum_day[2]={0,0};

struct date person_birthday[2];

printf("分别输入两个人的出生年月日\n");
for(i=0; i<2; i++)
{
printf("第%d人的出生日期:", i+1); //打印出第几人

scanf("%d %d %d", &person_birthday[i].year,
&person_birthday[i].month,
&person_birthday[i].day);
}
for(i=0; i<2; i++)
{
flag=checkyear(person_birthday[i].year);
if(flag) //是闰就返回1,反之返回0
{
sum_day[i]++;
}

for(j=0; j {
sum_day[i]+=Day_Of_Month[j];
}

sum_day[i]+=person_birthday[i].day;

}
for(i=0; i<2; i++)
{
printf("输出第%d人的生日第%d天\n", i+1, sum_day[i]);
}
if(sum_day[0]>sum_day[1])
{
printf("他们俩相差%d天\n", sum_day[0]-sum_day[1]);
}
else
{
printf("他们俩相差%d天\n", sum_day[1]-sum_day[0]);
}
return 0;
}


// 函数的定义
int checkyear(int n)
{
if((n%4==0 && n%100!=0) || n%400==0) //是闰年
return 0;
else //平年
return 0;
}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇问题十六:每位同学的信息学号、姓.. 下一篇问题十七:有1、2、3、4个数字,能..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: