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