Re: [问题] C语言转换时间问题

楼主: TheMatt (Gofight)   2010-05-06 17:57:21
※ 引述《fireex1988 (怒怒)》之铭言:
: 想请问一下这一题的题目解法:
: 输入秒数之后,将其转换成几小时,几分钟及几秒的输出?
: 我写出来了一半
: #include
: #define MIN 60
: int main(void)
: {
: int second;
: printf("请输入秒数:");
: scanf("%d",&second);
: printf("%d hour(s) and %d minute(s) and %d second(s)",
: second/MIN,second%MIN);
: return 0;
: }
我直接用我的看法回一篇好了
最直接的问题︰
你要3个输出就要用到3个运算式
不然在编译的时候就会发生问题了
(这边我不确定,因为平常在写时会注意有没有漏)
你没有算到hour……
hour = second/(MIN*MIN)
你printf的minute部份我想应该是要0≦min<60
而你上面的second/MIN会算到 > 60
如果要让minute的部份在0~60之间的话
可以将整个式子先用括号括起来
然后再mod60让值落在0~60之间
minute = (second/MIN)%MIN
至于second的部份,你的second%MIN是OK的
你缺少的不是后面而是前面……
以上
: 老师提示:3个控制输出字符,只有对应到2个运算式
: 所以我秒数算出来都很奇怪
: 请问一下 在这一列second/MIN,second%MIN);
: 后面要在加上什么样的运算式才可以算的出来
: 谢谢
作者: fireex1988 (怒怒)   2010-05-06 18:47:00
谢谢,已经成功了:)
楼主: TheMatt (Gofight)   2010-05-06 19:12:00
建议你可以先到C_and_CPP版逛逛,那边有很多教学和神人

Links booklink

Contact Us: admin [ a t ] ucptt.com