Re: [問題] C的基礎小問題~ 請幫忙~

看板PLT (程式語言與理論)作者 (無)時間15年前 (2009/11/08 01:15), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《wefgcv (green)》之銘言: : 題目 : 計算兩個時間 (時:分:秒) 的間隔秒數 : (先說這不是作業 只是自我的小練習) : 程式我已經寫好了 可是不太滿意 覺得程式寫的太落落長 : 所以想請問一下 有沒有更好的寫法 可以有同樣的功能 但程式很簡潔的呢?? : (第一次發問 不清楚在這版發問恰當與否 若不恰當請告知 我會自D的) : 我的程式碼如下 : :   int h1, m1, s1, h2, m2, s2, h, m, s, t; : printf("Please input first hour :"); : scanf("%d", &h1); : printf("Please input first minute :"); : scanf("%d", &m1); : printf("Please input first second :"); : scanf("%d", &s1); : printf("\nPlease input second hour :"); : scanf("%d", &h2); : printf("Please input second minute :"); : scanf("%d", &m2); : printf("Please input second second :"); : scanf("%d", &s2); : printf("\n第一個輸入時間為: %d時 : %d分 : %d秒\n", h1, m1, s1); : printf("第二個輸入時間為: %d時 : %d分 : %d秒\n", h2, m2, s2); : h = h1 - h2; : m = m1 - m2; : s = s1 - s2; : h = abs(h); : m = abs(m); : s = abs(s); : t = h * 3600 + m * 60 + s; : printf("\n兩個時間間隔秒數為: %d\n", t); 前面輸入時間的語法應該可以這樣簡化: printf("Please input first time:"); scanf("%d %d %d", &h1, &m1, &s1); printf("\nPlease input second time:"); scanf("%d %d %d", &h2, &m2, &s2); 中間要減少行數的話,可以這樣寫: h = abs(h1 - h2); m = abs(m1 - m2); s = abs(s1 - s2); 不過如果要讓程式碼更短的話,可以找看看Windows有沒有計算時間差距的API -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.150.17
文章代碼(AID): #1AzQibuv (PLT)
討論串 (同標題文章)
文章代碼(AID): #1AzQibuv (PLT)