导航:首页 > 编程语言 > 编程输入日期怎么算

编程输入日期怎么算

发布时间:2022-12-24 21:29:42

1. 从键盘输入一个年月日,编程求这一天到年底的天数

假设输入日期格式为:yyyy-mm-dd,如2022-1-1,C语言代码如下:

#include <stdio.h>

int main() {

int y, m, d, i;

scanf("%d-%d-%d", &y, &m, &d); // 要求输入日期格式为yyyy-mm-dd

int month[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)) // 闰年

month[2] = 29; // 闰年2月为29天

if (m <= 0 || m > 12) {

printf("月份%d不属于[1,12],程序退出 ", m);

return -1;

}

int days = month[m] - d; // 距当月月底的天数

if (days < 0) {

printf("%d年%d月最多%d天,程序退出 ", y, m, month[m]);

return -1;

}

for (i = m + 1; i <= 12; i++)

days += month[i]; // 下月开始距年底的天数

printf("%d ", days);

return 0;

}

运行结果如下:

输入2022-1-1,2022年为平年,一年共365天,所以2022年第一天距年底还有364天

输出为364,符合题意,望采纳~

2. 怎么用C语言输入一个日期,求该日期是该年的第几天

我大概给个思路,代码是现写的 没调试
先定义每个月的天数,2月按28天算
输入年月日后,根据年判断是否闰年(闰年加1天),再从1月加到当月的前一月,再加上日期就可以了

#include <stdio.h>
int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
main()
{int yy,mm,dd, days;
int i;
printf("input year:"); scanf("%d", &yy);
printf("input month:"); scanf("%d", &mm);
printf("input day:"); scanf("%d", &dd);
/* 如果大于2月,要做闰年的判断,忘了,不一定准 */
if( mm > 2 && ((year%4==0 && year%100!=0) || year%400==0) ) days = 1;
else days = 0;

/* 加上前面各整月的天数 */
for(i = 0; i < mm-1; i++) days += month[i];

/* 加上日数 */
days += dd;

printf("This is the %d day of year %d!! ", days, yy);
}

比如输入 1999 2 1
应该输出:This is the 32 day of year 1999!!

3. c语言编程:输入年月日,求出该天是该年的第几天

#include<stdio.h>

intmain()

{intday,month,year,sum,leap;

printf(" 请输入年、月、日,格式为:年,月,日(2015,12,10) ");

scanf("%d%d%d",&year,&month,&day);//格式为:20190510

switch(month)//先计算某月以前月份的总天数

{case1:sum=0;break;

case2:sum=31;break;

case3:sum=59;break;

case4:sum=90;break;

case5:sum=120;break;

case6:sum=151;break;

case7:sum=181;break;

case8:sum=212;break;

case9:sum=243;break;

case10:sum=273;break;

case11:sum=304;break;

case12:sum=334;break;

default:printf("dataerror");break;}

sum=sum+day;//再加上某天的天数

if(year%400==0||(year%4==0&&year%100!=0))

{//判断是不是闰年

leap=1;

}

else

{leap=0;

}

if(leap==1&&month>2)

{//*如果是闰年且月份大于2,总天数应该加一天

sum++;

}

printf("这是这一年的第%d天。",sum);

printf(" ");

}

(3)编程输入日期怎么算扩展阅读

使用c语言编程结构tm格式化时间注意事项:

tm结构在C/C++中处理日期和时间相关的操作时,显得尤为重要。tm结构以C结构的形式保存日期和时间,大多数与时间相关的函数都使用了tm结构。

使用了tm结构和各种与日期和时间相关的函数。在练习使用结构之前,需要对C结构有基本的了解,并懂得如何使用箭头->运算符来访问结构成员。

阅读全文

与编程输入日期怎么算相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163