栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言--输入一个日期,输出当前日期是这一年的第几天(完整代码)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言--输入一个日期,输出当前日期是这一年的第几天(完整代码)

文章目录
    • 介绍
    • 代码如下(部分注释)
    • 执行结果如下
    • 输入错误情况如下
    • -- 文明 使人进步 --

介绍

输入一个日期,输出当前日期是这一年的第几天
注意考虑平年闰年问题
2021.3.24
输出:2021年3月24日是2021年的第83天

代码如下(部分注释)
#include 

int main(int argc, const char *argv[])
{
	int year = 0;
	int month = 0;
	int month2 = 0;
	int day = 0;
	//int temp = 0;

	printf("请输入年月日(用回车分割):n");
	scanf("%d%d%d",&year,&month,&day);
	printf("您输入的日期是:%d年 %d月 %d日n ",year,month,day);
    //判断年月日的合法性
    if(year <0 ||month >12 ||month < 1)
	{
		printf("xia  TM  xien");
		return 0;
	}
    //判断是不是31天的合法性
	if(month == 1 ||month == 3||month == 5||month == 7||month ==8||month==10||month==12)
	{
		if(day > 31)
		{
			printf("又特么瞎写!!!n");
			return 0;
		}
	}
	if(month == 2||month==4||month==6||month==9||month==11)
	{
		if(day > 30)
		{
			printf("又特么瞎写!!!n");
			return 0;
		}
	}
	//根据输入的年份,判断一下是不是闰年
	if(((year%4==0)&&(year%100!=0))||year%400==0)
	{//闰年  	2yue 29day
		if(month == 2)
		{
			if(day > 29)
			{
				printf("又特么瞎写!!!n");
				return 0;
			}
		}
		month2 = 29;
	}
	else
	{//平年 	2yue 28day
		month2 = 28;
		if(month == 2)
		{
			if(day > 28)
			{
				printf("又特么瞎写!!!n");
				return 0;
			}
		}
	}

	switch(month){
		case 12 :
			printf("第%d天n",31+month2+31+30+31+30+31+31+30+31+30+day);
			break;
		case 11 :
			printf("第%d天n",31+month2+31+30+31+30+31+31+30+31+day);
			break;
		case 10 :
			printf("第%d天n",31+month2+31+30+31+30+31+31+30+day);
			break;
		case 9 :
			printf("第%d天n",31+month2+31+30+31+30+31+31+day);
			break;
		case 8 :
			printf("第%d天n",31+month2+31+30+31+30+31+day);
			break;
		case 7 :
			printf("第%d天n",31+month2+31+30+31+30+day);
			break;
		case 6 :
			printf("第%d天n",31+month2+31+30+31+day);
			break;
		case 5 :
			printf("第%d天n",31+month2+31+30+day);
			break;
		case 4 :
			printf("第%d天n",month2+31+31+day);
			break;
		case 3 :
			printf("第%d天n",month2+31+day);
			break;
		case 2 :
			printf("第%d天n",31+day);
			break;
		case 1 :
			printf("第%d天n",day);
			break;
	}

	return 0;
}
执行结果如下

输入错误情况如下

– 文明 使人进步 –

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384417.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号