1026、程序運行時間

/*
 * 要獲得一個C語言程序的運行時間,常用的方法是調用頭文件time.h,其中提供了clock()函數,
 * 可以捕捉從程序開始運行到clock()被調用時所耗費的時間。這個時間單位是clock tick,即
 * “時鐘打點”。同時還有一個常數CLK_TCK,給出了機器時鐘每秒所走的時鐘打點數。於是爲了
 * 獲得一個函數f的運行時間,我們只要在調用f之前先調用clock(),獲得一個時鐘打點數C1;在
 * f執行完成後再調用clock(),獲得另一個時鐘打點數C2;兩次獲得的時鐘打點數之差(C2-C1)就
 * 是f運行所消耗的時鐘打點數,再除以常數CLK_TCK,就得到了以秒爲單位的運行時間。這裏不妨
 * 簡單假設常數CLK_TCK爲100。現給定被測函數前後兩次獲得的時鐘打點數,請你給出被測函數運
 * 行的時間。
 * 
 * 輸入格式:
 * 輸入在一行中順序給出2個整數C1和C1。注意兩次獲得的時鐘打點數肯定不相同,即C1 < C2,
 * 並且取值在[0, 107]。
 * 
 * 輸出格式:
 * 在一行中輸出被測函數運行的時間。運行時間必須按照“hh:mm:ss”(即2位的“時:分:秒”)
 * 格式輸出;不足1秒的時間四捨五入到秒。
 * 
 * 輸入樣例:
 * 
 * 123 4577973
 * 
 * 輸出樣例:
 * 
 * 12:42:59
 * 
 * */
import java.util.Scanner;

public class Pat1026 {
	private static Scanner sc;

	public static void main(String[] args) {
		
		sc = new Scanner(System.in);
		int x = sc.nextInt();
		int y = sc.nextInt();

		int t = (int) ((y - x) / 100.0 + 0.5);     //計算所需時間並四捨五入

		int hh = t / (60 * 60);					   //時
		int mm = t % (60 * 60) / 60;			   //分
		int ss = t % (60 * 60) % 60;			   //秒

		//輸出格式控制,當輸出爲個位數字時,在前面添加一個零
		if (hh / 10 != 0) {
			System.out.print(hh + ":");
		} else {
			System.out.print("0" + hh + ":");
		}

		if (mm / 10 != 0) {
			System.out.print(mm + ":");
		} else {
			System.out.print("0" + mm + ":");
		}

		if (ss / 10 != 0) {
			System.out.print(ss);
		} else {
			System.out.print("0" + ss);
		}
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章