题目:
编写一个程序将用分钟表示的时间转换成小时和分钟表示的时间使用#define或者const来创建一个代表60的符号常量。 使用while循环来允许用户 重复健入值,并且当键入一个小于等于0的时间时终止循环。
代码表示:
#include
#define MIN_PER_HOUR 60//每小时的分钟数
int main(void)
{
int min,hour,left;
printf("Convent mins to hour and mins!\n");
printf("Enter the number of mins(
scanf("%d",&min);
while(min>0)
{
hour = min / MIN_PER_HOUR;//截尾得到的小时数
left = min % MIN_PER_HOUR;//剩下的分钟数
printf("%d mins is %d hours, %d mins.\n",min,hour,left);
printf("Enter next value (
scanf("%d",&min);
}
printf("DONE!\n");
return 0;
}
下面时一个输出示例:
Convent mins to hour and mins!
Enter the number of mins(
154
154 mins is 2 hours,34 mins;
Enter next value (
DONE!
程序中使用一个计数器来控制while循环。当计数器超出给定的大小,循环终止。而程序清单5.9则使用scanf0来获得一个新的值赋给变量min只要这个变量是正数,循环就会继续。当用户输入0或者一个负值的时候,循环就会停止。两种情况中同样重要的一一点在于,每次循环都会修改被测试的变量的值。负数的取模运算应遵照什么规则?在C99为整数除法规定“趋零截尾”规则之前,该问题的处理方法有很多可能。但有了这条规则之后,如果第一个操作数为负数,那么得到的模也为负数;如果第一个操作数为正数,那么得到的模也为正数:
(将秒转换为分钟和秒同法)
领取专属 10元无门槛券
私享最新 技术干货