计算时间差程序

貌似是超级复杂的算法……

 

#include<stdio.h>
void main()
{
int h1,m1,h2,m2,timeh,timem;
char e;
   printf("这是一个效率极低,用于计算你不在床上时长的程序,计算时请耐心等候\n");
   loop1:printf("输入你的起床时间(hhrr)\n");
   scanf("%2d%2d",&h1,&m1);
   printf("输入你的入睡时间(hhrr)\n");
   scanf("%2d%2d",&h2,&m2);
   getchar();
   if((h1>24)||(h2>24)||(m1>59)||(m2>59))
{
      printf("请问你使用的是地球上的时间吗?\n再来一次吧\n\n");
   goto loop1;
}
   if(m1<=m2)
{
   if(h1<=h2)
       timeh=h2-h1;
       timem=m2-m1;
   if(h1>h2)
       timeh=h2-h1+24;
}
   else
{
      timem=m2-m1+60;
      if(h1<h2)
      timeh=h2-h1-1;
      if(h1>=h2)
      timeh=h2-h1+23;
}
   printf("你不在床上的时长为%d小时%d分钟\n\n",timeh,timem);
   printf("输入y再算一次,输入n退出\n");
   scanf("%c",&e);
   switch(e)
{
       case 'y':goto loop1;
       case 'n':printf("感谢使用\n");break;
}
}

 

posted @ 2014-10-12 19:18  fishegg  阅读(573)  评论(0编辑  收藏  举报