当前位置:首页 » 编程软件 » hbd编程

hbd编程

发布时间: 2023-08-10 12:38:01

⑴ 初学者请教 两道简单的c语言编程题目

[回答]
1. 用C语顷春言自己的时间函数
difftime(time_t time1, time_t time0) / 86400
这样做得缺点是,这里的time_t类型,只支持到2037年

2. 自己定义函数
楼主用的方法,在实际编程里不常用,变化比较大。
下面这个方法是直接计算两个日期到公元元年的天数
然后相减,这个是实际编程时的算法,经过很多程序员的洗炼,已经被广泛使用

#include<stdio.h>
#define LEAP(y) (y%(y%100?4:400)==0) /*公元y年是否闰年*/
long totaldays(int year,int month,int day)/*公元纪年的总天数*/此汪
{ int days[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int c=day,m,y=year-1;
days[2]=28+LEAP(year);
for(m=1;m<month;m++)c+=days[m];
return c+y/4-y/100+y/400+y*365L;
}
void main()
{ int y,m,d; long t1,t2;
printf("date 1: ");
scanf("%d%*c%d%*c%d",&y,&m,&d);
t1=totaldays(y,m,d);
printf("date 2: ");
scanf("%d%*c%d%*c%d",&y,&m,&d);
t2=totaldays(y,m,d);
printf("total days: %ld\n",t2-t1);
}

这应该是全部的实现方法了
楼主的方法没必要简化了
尤其是刻意追求短代码就更没有必要了
要知道雀扒耐,代码短了,可读性就差
两者协调好,才能称为好程序^^

悉雨辰寂

热点内容
安卓手机电影怎么投屏到ipad上 发布:2025-03-20 04:27:23 浏览:677
苹果安卓基于什么开发 发布:2025-03-20 04:20:52 浏览:520
算法化是 发布:2025-03-20 03:48:20 浏览:771
拆二代访问 发布:2025-03-20 03:47:34 浏览:63
随机数排序c语言 发布:2025-03-20 03:35:31 浏览:498
当前页面脚本发生错误类型不匹配 发布:2025-03-20 03:26:47 浏览:993
strutsajax上传图片 发布:2025-03-20 03:25:03 浏览:386
手机在线缓存 发布:2025-03-20 03:21:06 浏览:46
ftp路径上传时间 发布:2025-03-20 03:13:42 浏览:104
电脑连接通讯服务器失败怎么回事 发布:2025-03-20 03:10:30 浏览:287