我在一个网络编程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