Отличие, которое сразу бросается в глаза, это переоткрывание стандартных потоков. Зачем там freopen, когда есть fopen?
И завязывайте с практикой использования однобуквенных переменных...
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
VTT>Отличие, которое сразу бросается в глаза, это переоткрывание стандартных потоков. Зачем там freopen, когда есть fopen? VTT>И завязывайте с практикой использования однобуквенных переменных...
Вы по своему правы, но такое использование адаптировано мной под серверы олимпиадных задач:
1) строки с freopen при отправке на сервер закомментированы ;
2) в результате происходит более быстрое чтение/запись через scanf/printf : для некоторых задач, как оказывается — это существенно.
Я согласен, что такой подход может вызывать споры, но вопрос состоял в другом: можно ли написать вывод с помощью printf , чтобы он на том же сервере прошел так же успешно, как и cout? Если возможно, то как? (Поэтому для обсуждения было представлено оба кода.)
Здравствуйте, BulatZiganshin, Вы писали:
BZ>Здравствуйте, olimp_20, Вы писали:
_>> printf("%0.6Lf\n", CAnsw);//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
BZ>а это вообще работает? inet говорит что %Lf — это long double
и так работает, и так — printf("%0.6f\n", CAnsw);
Здравствуйте, pagid, Вы писали:
P>Здравствуйте, olimp_20, Вы писали:
_>>Подскажите, что неправильно в первом варианте, как исправить?
P>Префикс формата "l" в scanf и print должет быть строчной буквой
P>
Здравствуйте, olimp_20, Вы писали:
_>а всюду результат — "Неправильный ответ"
а scanf ?
Разница между MS VC и GNU C в том, что long double для MS VC имеет то же двоичное предствление, что и double (типы разные), а для GNU C++ long double 80-битовый. По префиксу "L" как раз printf и scanf ожидают/сохраняют long double, а по "l" — double. Без префикса — 32-разрядный float.
Здравствуйте, pagid, Вы писали:
P>а scanf ?
P>Разница между MS VC и GNU C в том, что long double для MS VC имеет то же двоичное предствление, что и double (типы разные), а для GNU C++ long double 80-битовый. По префиксу "L" как раз printf и scanf ожидают/сохраняют long double, а по "l" — double. Без префикса — 32-разрядный float.
Спасибо Вам. Прощу прощения за предыдущие возражения. Все получается, если: