C语言计算你活了多少天!

人数短暂,时光如梭,绝大多数人活不到4万天,珍惜活着的每一天,不负韶华。请编程实现输入生日以及当前日期计算已活的天数。

思路:

我会分为三个阶段考虑分析问题:第一个阶段出生的年月日到出生时,这一年的年底12月31日为界线计算出已活天数。第二个阶段是当前日期的年月日这一年的年初1月1日到当前日期的年月日,计算出已活天数。第三个阶段是除掉出生这一年和当前日期这一年,来计算中间年的天数。最后求和即可!

​
#include<stdio.h>
int main()
{
	int i,j,k,x;//x表示中间年
	int arr1[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
	int arr2[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
	int arr3[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
	int year1,month1,day1;//输入出生的年月日
	int year2,month2,day2;//输入当前的年月日
	int sum1=0,sum2=0,sum3=0,sum;
	printf("请输入您出生日期:");
	scanf("%d %d %d",&year1,&month1,&day1);
	if((year1%4==0&&year1%100!=0)||year1%400==0)
	{
		arr1[2]=29;
	}
	else
	{
		arr1[2]=28;
	}
	for(i=12;i>month1;i--)
	{
		sum1=sum1+arr1[i];
	}
	sum1=sum1+arr1[month1]-day1;//出生时这一年活的天数 
    
	printf("请输入当前日期:");
	scanf("%d %d %d",&year2,&month2,&day2);
	if((year2%4==0&&year2%100!=0)||year2%400==0)
	{
		arr2[2]=29;
	}
	else
	{
		arr2[2]=28;
	}
	for(j=1;j<month2;j++)
	{
		sum2=sum2+arr2[j];
	}
	sum2=sum2+day2;//当前日期这一年活的天数 

	sum3=0;
	for(x=year1+1;x<year2;x++)
	{
		if((x%4==0&&x%100!=0)||x%400==0)
		{
			arr3[2]=29;
		}
		else
		{
			arr3[2]=28;
		}
		for(k=1;k<13;k++)
		{
			sum3=sum3+arr3[k];//出掉出生这一年和当前这一年,中间这几年的天数和
		}
	}
	sum=sum1+sum2+sum3;
	printf("您已经活了%d天",sum);
	return 0;
}

​

输入

2002 5 30

2024 4 27

输出

您已经活了8003天

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值