/***************************************************************
C语言
AUTHOR:liuyongshui
问题来源:http://blog.csdn.net/sxhelijian/article/details/8620846
***************************************************************/
/*
问题十五:定义一个结构体变量(包括年、月、日),输入两个人的生日,求出他们相差多少天。
*/
#include <stdio.h>
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<person_birthday[i].month; 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;
}
C语言
AUTHOR:liuyongshui
问题来源:http://blog.csdn.net/sxhelijian/article/details/8620846
***************************************************************/
/*
问题十五:定义一个结构体变量(包括年、月、日),输入两个人的生日,求出他们相差多少天。
*/
#include <stdio.h>
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<person_birthday[i].month; 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;
}