用C语言编出2008年北京奥运会倒计时,天天.时时.分分.秒秒?
想了半天,不知道从何处入手。大家帮忙提示点思路咯!不知道利用死循环能能编出来?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int i_sleep(int n)//延迟n秒函数
{
time_t start,end;
start=time(NULL);
end=time(NULL);
while(end-start<n)
{
end=time(NULL);
}
return 0;
}
int showtime()
{
struct tm timestru,*tmtime;
time_t endtime, curtime;
long ttime;
timestru.tm_year = 2008 - 1900;
timestru.tm_mon = 8 - 1;
timestru.tm_mday = 8;
timestru.tm_hour = 20;
timestru.tm_min = 0;
timestru.tm_sec = 0;
endtime = mktime(×tru);
curtime = time(NULL);
ttime = endtime - curtime;
tmtime = localtime(&curtime);
printf("\n\n\n");
printf("\t\t ———————————————————————— \n");
printf("\t\t| 2008北京奥运倒计时 |\n");
printf("\t\t|———————————————————————|\n");
printf("\t\t| 当前时间 %04d年%02d月%02d日 %02d时%02d分%02d秒 |\n",
tmtime->tm_year + 1900, tmtime->tm_mon + 1, tmtime->tm_mday ,
tmtime->tm_hour, tmtime->tm_min, tmtime->tm_sec);
printf("\t\t|———————————————————————|\n");
printf("\t\t| 距北京奥运 %04d年%02d月%02d日 %02d时%02d分%02d秒 |\n",
timestru.tm_year + 1900, timestru.tm_mon + 1, timestru.tm_mday,
timestru.tm_hour, timestru.tm_min, timestru.tm_sec);
printf("\t\t|———————————————————————|\n");
printf("\t\t| 还有%3d天%02d时%02d分%02d秒 |\n",
ttime/86400, ttime%86400/3600, ttime%86400%3600/60, ttime%86400%3600%60);
printf("\t\t ———————————————————————— \n\t\t");
return 0;
}
int main(int argc, char *argv[])
{
while(1)
{
system("cls");
showtime();
i_sleep(1);
}
return 0;
}
结果:
以下是我找的程序,有一处错误!请高手帮忙解决了!
题目在以下附件里:
yelusu.rar
(182.08 KB)
[[it] 本帖最后由 yelusu 于 2008-5-27 17:22 编辑 [/it]]
[[it] 本帖最后由 yelusu 于 2008-5-27 17:24 编辑 [/it]]