貌似是超级复杂的算法……
#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; } }
时间: 2024-10-27 07:02:20