C程序:
#include "stdio.h"
void main()
{
long num;
int hour, minute, second, hour1;
char time1[9], time2[11];
int i;
int isAm = 1;
double diff = 0;
printf("input time : ");
scanf("%ld", &num);
hour = num / 10000;
minute = num / 100 % 100;
second = num % 100;
/* time for 24 hour */
i = 0;
if (hour < 10)
{
time1[i++] = '0';
time1[i++] = hour + '0';
}
else
{
time1[i++] = hour/10 + '0';
time1[i++] = hour%10 + '0';
}
time1[i++] = ':';
if (minute < 10)
{
time1[i++] = '0';
time1[i++] = minute + '0';
}
else
{
time1[i++] = minute/10 + '0';
time1[i++] = minute%10 + '0';
}
time1[i++] = ':';
if (second < 10)
{
time1[i++] = '0';
time1[i++] = second + '0';
}
else
{
time1[i++] = second/10 + '0';
time1[i++] = second%10 + '0';
}
time1[i] = '\0';
printf("%s\n", time1);
/* time for 12 hour */
i = 0;
hour1 = hour;
if (hour1 > 12)
{
isAm = 0;
hour1 -= 12;
}
if (hour1 < 10)
{
time2[i++] = '0';
time2[i++] = hour1 + '0';
}
else
{
time2[i++] = hour1/10 + '0';
time2[i++] = hour1%10 + '0';
}
time2[i++] = ':';
if (minute < 10)
{
time2[i++] = '0';
time2[i++] = minute + '0';
}
else
{
time2[i++] = minute/10 + '0';
time2[i++] = minute%10 + '0';
}
time2[i++] = ':';
if (second < 10)
{
time2[i++] = '0';
time2[i++] = second + '0';
}
else
{
time2[i++] = second/10 + '0';
time2[i++] = second%10 + '0';
}
if (isAm == 0)
time2[i++] = 'p';
else
time2[i++] = 'a';
time2[i++] = 'm';
time2[i] = '\0';
printf("%s\n", time2);
/* difference to 22:00 today */
diff = (3600.0 * (22 - hour) - 60 * minute - second) / 60.0;
printf("there are %.2lf mins\n", diff);
}
运行测试:
#include
int main(void)
{
int h,m,s;
scanf("%2d%2d%2d",&h,&m,&s);
printf("%02d:%02d:%02d\n",h,m,s);
if(h<=12)
printf("%02d:%02d:%02dam\n",h,m,s);
else
printf("%02d:%02d:%02dpm\n",h-12,m,s);
double rest=24*60-(h*60+m+s/60.0);
printf("there are %.2lf mins\n",rest);
return 0;
}
已经让人给做了,我就不发了吧。