首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

编纂一个程序,计算用户输入的起始时间到终止时间之间相隔的天数

2012-12-17 
编写一个程序,计算用户输入的起始时间到终止时间之间相隔的天数。编写一个程序,计算用户输入的起始时间到终

编写一个程序,计算用户输入的起始时间到终止时间之间相隔的天数。
编写一个程序,计算用户输入的起始时间到终止时间之间相隔的天数。
程序的输入和输出格式为:
   输入起始时间(年,月,日):1964.2.19
输入终止时间(年,月,日):2001.10.20
在1964.2.19-2001.10.20之间有13758天
  请使用c语言
[最优解释]
這個比較簡單點,

#include<time.h>
#include<stdio.h>
int daytab[][14] = {
  { 0, -1, 30, 58, 89, 119, 150, 180, 211, 242, 272, 303, 333, 364 },
  { 0, -1, 30, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 },
};
int isleap(int year)
{
  return (year%4 == 0) && ((year%400 == 0) 
[其他解释]
用mktime

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

struct tm *str2tm(const char *str, struct tm *ptm)
{
    char *ptr;
    char *tok;

    memset(ptm, 0, sizeof(struct tm));
    ptr = strcpy(malloc(strlen(str) + 1), str);
    tok = strtok(ptr, ".");
    ptm->tm_year = atoi(tok) - 1900;
    tok = strtok(NULL, ".");
    ptm->tm_mon = atoi(tok) - 1;
    tok = strtok(NULL, ".");
    ptm->tm_mday = atoi(tok);
    free(ptr);

    return ptm;
}

int main(int argc, char *argv[])
{
    char d1[] = "1964.2.19";
    char d2[] = "2001.10.20";
    time_t t1, t2;
    struct tm tm1, tm2;

    t1 = mktime(str2tm(d1, &tm1));
    t2 = mktime(str2tm(d2, &tm2));

    printf("%d\n", (int)((t2 - t1) / (3600 * 24)));

    return 0;
}

[其他解释]
我写过一个类似的,楼主可以看看,提出改进意见。
[其他解释]
引用:
我写过一个类似的,楼主可以看看,提出改进意见。

 
貌似 没有闰年的判断也。
[其他解释]
引用:
用mktime
C/C++ code?1234567891011121314151617181920212223242526272829303132333435363738#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h> struct tm *str2tm(const ch……

我是初学者,看不懂,能不能用简单点的语句

热点排行