我在一個網絡編程c中註冊了幾個算法練習。 我做了一個很簡單的問題如下: 我收到4個數字,確定一個矩形的2個角的座標,並且必須計算面積。 有一組測試,當第二個角落在第一個(x1> x2 || y1> y2)的左下方時,程序退出。 優化c中的數學運算
例:
輸入:
1 1 4 3
0 0 1 1
9 7 3 6 //Exit
輸出:
6
1
這是我的代碼。
#include <stdio.h>
#include <stdlib.h>
int main()
{
while(1) {
int x1, x2, y1, y2;
scanf("%d %d %d %d", &x1, &y1, &x2, &y2);//x1 y1 == A, x2 y2 == B
if(x1 > x2 || y1 > y2)
return 0;
printf("%d\n", (x2 - x1) * (y2 - y1));
}
}
我的問題只是一個好奇心。我用「0052」的時間解決了這個問題,在我面前有3個人在「0048」和「0024」中設法解決! 我可以使用什麼optimisazion方法來縮短時間?可能是指針?
'scanf'和'printf'(每次刷新都會)比其他任何東西都慢(*多*)。 – 2014-12-06 22:58:39
定時等待鍵盤輸入的函數是無稽之談。你正在爲打字員計時。 – 2014-12-07 09:08:04