C语言判断某年某月某日,判断这一天是这一年的第几天

这篇博客介绍了一种使用C语言编程的方法,来判断输入的年、月、日是当年的第几天。首先,博客分别阐述了每个功能函数的思路,包括判断月份、计算月份之前天数、检测闰年、输入日期以及验证日期正确性。然后通过数据测试确保闰年的2月处理正确。最后,主函数整合所有功能,根据是否为闰年来确定3月之后的天数是否加1,并输出结果。
摘要由CSDN通过智能技术生成

整段代码

(代码很长……下面有分段的~)

主要思路

  • 将年份、月份和日期分开输入
  • 判断月份和日期的输入直到正确
  • 计算天数:该月之前的天数加上这个月的日期,若为闰年再+1(如2000年3月14日就是:31+28=59,59+14=73,73+1=74)
  • 输出结果
#include<stdio.h>

int fun1();
int fun2(int l);
int fun3(int y);
int fun4(int y2,int m2);
int fun5(int y3,int m3,int d3);

int main()
{
   
	int year,month,day,sum1;
	printf("请输入需要判断的日期:\n");
	printf("年份:\n");
	scanf("%d",&year);
	month=fun1();
	day=fun4(year,month);
	sum1=fun2(month);
	if(fun3(year))
	{
   
		if(month>=3)
			sum1=sum1+1;
	}
	printf("%d年%d月%d日是这一年的第%d天。\n",year,month,day,sum1+day);
	return 0;
}

int fun1()										//判断月份直到正确函数;fun1
{
   
	int n;
	do
	{
   
		printf("月份:\n");
		scanf("%d",&n);
		if(n<1||n>12)
			printf("请输入正确的月份!\n");
	}while(n<1||n>12);
	return n;
}

int fun2(int l)									//得出sum的函数;fun2
{
   
	int sum;
	switch(l)									//判断并计算这个月之前的天数;
	{
   
		case 1:sum=0;break;
		case 2:sum=31;break;
		case 3:sum=59;break;						//31+28
		case 4
  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值