int a, b, c;
double k;
scanf("%d %d %d", &a, &b, &c);
k = (double)a*a/(b*b + c*c);
printf("%.0lf %0.lf %d", sqrt(b*b*k), sqrt(c*c*k), (int)sqrt(c*c*k);
例如, 输入:52 9 16 输出:25 45 45
但是,我认为那些是不同的。其实,在网上裁判中判断不一样。
有什么不同?
printf("%.0lf %0.lf %d", sqrt(b*b*k), sqrt(c*c*k), (int)sqrt(c*c*k);
在上面的句子里,L,而不是1
它是根据不同的编译器?
这取决于编译器并没有不同。这应该是什么:'%.0lf' – tilz0R
但是,在线Judge中,当我编写%.0lf, 时,我得到了“错误”,但是当我使用(int)sqrt写入%d时,我得到了“正确” (bla); – StackQ
我再次问你,用'%.0lf'指望什么?'0'是什么? – tilz0R