标题:输入三个数字,分别是 4 位的年份、月份、日期,判断是该年的第几天。用 ti ...
取消只看楼主
一笑丶
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-8
结帖率:0
已结贴  问题点数:20 回复次数:4 
输入三个数字,分别是 4 位的年份、月份、日期,判断是该年的第几天。用 time 来算,该怎么写
输入三个数字,分别是4位的年份、月份、日期,判断是该年的第几天。用time来算,该怎么写
2014-12-08 10:46
一笑丶
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-8
得分:0 
求各位解决
2014-12-08 11:29
一笑丶
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-8
得分:0 
回复 3 楼 wp231957
不是可以用time函数算吗?
2014-12-08 12:19
一笑丶
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-8
得分:0 
回复 3 楼 wp231957
输入日期的time_t减该年第一天的time_t得到的数除以  24 * 3600就得到了天数
2014-12-08 13:43
一笑丶
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-8
得分:0 
回复 6 楼 wp231957
又,就是这么神奇
#include <stdio.h>
#include <time.h>
int main()
{
int year;
int month;
int day;
struct tm t;
time_t t1;
time_t t2;
printf("输入日期: 例如  2014 12 8\n");
scanf("%d%d%d", &year, &month, &day) ;
t.tm_year = year - 1900;
t.tm_mon = month - 1;
t.tm_mday = day;
t.tm_hour = 0;
t.tm_min = 0;
t.tm_sec = 0;
t1 = mktime( &t);
t.tm_mon = 0;
t.tm_mday = 1;
t2 = mktime( &t);
printf("%s is the %d th day of %d.", ctime(&t1), (t1-t2)/(24*3600)+1, year);
return 0;
}
2014-12-08 14:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-439711-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.428701 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved