当前位置:首页 » 编程语言 » c语言输入日期算天数c

c语言输入日期算天数c

发布时间: 2022-08-17 18:32:30

A. 求助,c语言,输入日期及天数计算新日期,求代码

#include<stdio.h>

int main()

{ struct date

{ int year,month,day;

} dt;

int i,days,mon[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};

scanf("%d%*c%d%*c%d,%d",&dt.year,&dt.month,&dt.day,&days);

dt.day+=days;

while(dt.day>mon[dt.month])

{ if(dt.month==2)

mon[2]=28+(dt.year%4==0&&dt.year%100||dt.year%400==0);

dt.day-=mon[dt.month];

if(++dt.month>12)

{ dt.month=1;

dt.year++;

}

}

printf("result:%d-%d-%d ",dt.year,dt.month,dt.day);

return 0;

}

B. 用c语言编程计算输入出生日期可计算出到现在存活时间天数

使用time.h,首先使用mktime函数将出生日期换算成time_t,也就是秒数。然后再使用time函数获取当时时间的秒数,两者相减,就是相差的秒数,再除以一天的秒数换算成天数就可以了。


全部源码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>

main()
{
intyear,mon,mday;
time_tt1,t2;
intdays;
structtmtm;

printf("Pleaseinputyear,mon,day:");
scanf("%d,%d,%d",&year,&mon,&mday);
memset(&tm,0,sizeof(tm));
tm.tm_year=year-1900;
tm.tm_mon=mon-1;
tm.tm_mday=mday;
t1=mktime(&tm);
t2=time(NULL);

days=(t2-t1)/(24*3600);
printf("%d ",days);
}

C. 急求!C语言计算天数

#include<stdio.h>
int main()
{
int yyyy,mm,dd,a,b;
scanf("%d/%d/%d",&yyyy,&mm,&dd);
a=31*(mm>1)+28*(mm>2)+31*(mm>3)+30*(mm>4)+31*(mm>5)+30*(mm>6)+31*(mm>7)+31*(mm>8)+30*(mm>9)+31*(mm>10)+30*(mm>11)+dd;
b=((yyyy%4==0)*(yyyy%100!=0)+(yyyy%400==0))*(mm>2);
printf("%d\n",a+b);
return 0;
}

D. 用c语言编写计算两个日期之间的天数

#include <time.h>
#include <stdio.h>
void main()
{
tm t1={0},t2={0};
t1.tm_year = 1999-1900;
t1.tm_mon = 2-1;
t1.tm_mday = 3;
t2.tm_year = 2015-1900;
t2.tm_mon = 5-1;
t2.tm_mday = 4;
time_t a1 = mktime(&t1);
time_t a2 = mktime(&t2);
printf("相差%d天", (a2-a1)/86400);
}
ps:看不懂了再追问

E. C语言中输入一个日期计算他是今年的第几天

输入年月日三个值,先累加该年之前各个月的每月天数,最后累加日期天数即可获取结果。

一、算法设计:

1、输入年月日三个值;

2、为保证程序健壮性,可以对三个值的合法性进行判断,只对合法数据进行操作;

3、累加之前各月天数;

4、累加当前日值;

5、输出结果。

二、注意点:

可以使用数组存储各个月份的天数,用循环累加。需要注意的是闰年的判断。对于闰年,2月要多加一天。

三、参考代码:

#include<stdio.h>
intmain()
{
intmdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};//十二个月的天数。
inty,m,d,r=0,i;
scanf("%d%d%d",&y,&m,&d);
if(y%400==0||(y%4==0&&y%100!=0))//闰年。
mdays[1]=29;//设置闰年二月值。
if(y<0||m<=0||m>12||d<=0||d>mdays[m-1])//输入非法。
{
printf("输入年月日不合法 ");//提示并退出。
return-1;
}
for(i=0;i<m-1;i++)//累加之前各个月。
r+=mdays[i];
r+=d;//累加日期值。
printf("%d ",r);//输出结果。
return0;
}

F. 用c语言从键盘任意输入一个日期(年月日),输出第二天的日期(年月日)。

#include<stdio.h>

intmonthsize(intyear,intmonth){

intdays;

if(month==2){

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

return29;

return28;

}

switch(month){

case1:

case3:

case5:

case7:

case8:

case10:

case12:days=31;break;

case4:

case6:

case9:

case11:days=30;break;

}

returndays;

}

intmain(){

intyear,month,day,days;

printf("年月日:");

while(scanf("%d%d%d",&year,&month,&day)==3){

days=monthsize(year,month);

if(days==day){

if(month==12){

++year;

month=1;

day=1;

}

else++month;

}

else++day;

printf("第二天是:%d/%02d/%02d ",year,month,day);

printf("年月日(qtoquit):");

}

return0;

}

(6)c语言输入日期算天数c扩展阅读

输入两个任意日期计算相隔天数

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<math.h>

#include<time.h>

intget_days(constchar*from,constchar*to);

time_tconvert(intyear,intmonth,intday);

intmain()

{

constchar*from=“2013-3-15”;

constchar*to=“2015-8-14”;

intdays=get_days(from,to);

printf(“From:%s To:%s ”,from,to);

printf(“%d ”,天);

个系统(“暂停”);

返回0;

}

20time_tconvert(intyear,intmonth,intday)

{

tminfo={0};

info.tm_year=year-1900;

info.tm_mday=天;

返回mktime(&info);

}

intget_days(constchar*from,constchar*to)

{

int年,月,日;

sscanf(from,“%d-%d-%d”,&year,&month,&day);

intfromSecond=(int)convert(年,月,日);

sscanf(to,“%d-%d-%d”,&year,&month,&day);

inttoSecond=(int)convert(年,月,日);

return(toSecond-fromSecond)/24/3600;

}

G. 用c语言编程计算两个日期之间的天数

直接算两个日期距离公元元年1月1日的天数:

若干个完整的年,若干个完整的月,若干天,加起来之后两个天数相减就行了.

日期的合法性,闰年之类的就不罗嗦了.

H. c语言编程日期计算

//_MONTH代表一年里各月份的天数
int_MONTH[]={{31},{28},{31},{30},{31},{30},{31},{31},{30},{31},{30},{31}};
//days第一参数代表月份,第二个参数代表天数
//比如11月3日,可以这样调用days(11,3);
intdays(int*m,int*day)
{
inti,md=0;
unsignedintd;

for(i=0;i<(*m-1)&&(i<11);i++)
md=md+_MONTH[i];

d=md+(*day);//总天数累加
return(int)((d+365)-365);//总天数加365天再减365天相当于取余数的原理(你把365当成整体来对待你就会明白的),你可设想下,比如你输入的日期是12月31日那么总天数就肯定是365,而你若不加365天,直接减去365天,这样一来就不符合逻辑。这是一个逻辑性问题。你可以自己好好琢磨下。
}

热点内容
android背单词源码 发布:2025-01-19 23:57:21 浏览:727
领动配置怎么样 发布:2025-01-19 23:56:35 浏览:83
python造数据 发布:2025-01-19 23:51:31 浏览:903
linux下卸载mysql 发布:2025-01-19 23:40:34 浏览:339
linuxweb路径 发布:2025-01-19 23:25:08 浏览:941
福建电信服务器ip地址 发布:2025-01-19 23:07:24 浏览:648
服务器怎么制作公告栏 发布:2025-01-19 23:06:23 浏览:874
英雄联盟皮肤源码 发布:2025-01-19 22:56:14 浏览:95
三星手机忘记解锁密码怎么办 发布:2025-01-19 22:45:43 浏览:292
Java为什么没有预编译命令 发布:2025-01-19 22:44:14 浏览:304