|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 LiJay 于 2020-11-14 09:51 编辑
在ACM上的一道水题,求绝对值的,这是百度上的
#include <stdio.h>
int main()
{
double a;
while(scanf("%lf",&a)!=EOF)
{
if(a<0)
a=-a;
printf("%.2f\n",a);
}
然后这是我的
#include<stdio.h>
int main()
{
float r;
while (scanf_s("%f",&r)!=EOF)
{
if (r<0)
{
printf("%.2f\n", -r);
}
else
{
printf("%.2f\n", r);
}
}
return 0;
}
这两种代码,其中百度上的上传能通过,我的上传却是Output Limit Exceeded
按照实例输入和输出都对了呀,就是不知道为什么,求大佬能帮忙解释一下
本帖最后由 风过无痕1989 于 2020-11-14 10:11 编辑
你的程序多了一次判断,所以才会 Output Limit Exceeded (运行超时)
百度上的只有两条语句:
if(a<0)
a=-a;
你的程序用了四条语句:
if (r<0)
{
printf("%.2f\n", -r);
}
else
{
printf("%.2f\n", r);
}
假设运行一条语句需要 0.5ms,那么你的程序每一个 if ... else ... ,就要多 1ms,循环次数越多,累加的时间就越长,超时那就成为了可能
|
|