Форматные функции printf() и scanf() - C (СИ)
Формулировка задачи:
Вот читал про рсдн про эти функции.Убил моск...Помогите разобраться.
Вот она,статья:
_http://www.rsdn.ru/forum/cpp/1128588.1.aspx
Как обычно, квадратные скобки означают, что этот элемент спецификатора может отсутствовать. По сравнению со спецификатором формата для вывода только символ *(звездочка) имеет другой смысл: если она указана, то запись значения в соответствующую переменную не происходит. Например, можно определить ввод двух значений в две числовых переменных, разделяя их при вводе любым символом
Хрень какаято ей Богу.Про звёздочку не понял.В какую,***,соответствующцую переменную,если их тут всего две ?! Последнее предложение аналогично. Каким образом тут разделять значения переменных a и b я не знаю... explode() в РНР куда проще осилить.Затем возникла головная боль о фильтрации данных.Пользователь может навводить тут чёрт знает что!
double a,b;
scanf("%lf%*c%lf",&a,&b);Решение задачи: «Форматные функции printf() и scanf()»
textual
Листинг программы
#include <stdio.h>
int main (void)
{
float f = 12.34567;
/* '%f' означает простая печать числа в формате float или double
* В данном случае напечатается "1.234000" */
printf ("%f\n", f);
/* '%e' означает печать числа в формате float или double в эспотенциальном виде
* В данном случае напечатается "1.234567e+01", что следует понимать
* как 1.234567 * 10^1 */
printf ("%e\n", f);
/* '%.02f' означает то же, что и %f, но значение округляется до 2 знаков после запятой
* В данном случае напечатается "12.35" */
printf ("%.02f\n", f);
/* '%.02e' означает то же, что и %e, но значение округляется до 2 знаков после запятой
* В данном случае напечатается "1.23e+01" */
printf ("%.02e\n", f);
return 0;
}
Объяснение кода листинга программы
- Объявлена переменная типа float f со значением 12.34567.
- Используя функцию printf() с форматом '%f', напечатано значение переменной f, после чего добавлен символ новой строки '\n'. Результат:
1.234000. - Используя функцию printf() с форматом '%e', напечатано значение переменной f в экспоненциальном виде, после чего добавлен символ новой строки '\n'. Результат:
1.234567e+01. - Используя функцию printf() с форматом '%.02f', напечатано значение переменной f, округленное до двух знаков после запятой, после чего добавлен символ новой строки '\n'. Результат:
12.35. - Используя функцию printf() с форматом '%.02e', напечатано значение переменной f в экспоненциальном виде, округленное до двух знаков после запятой, после чего добавлен символ новой строки '\n'. Результат:
1.23e+01. - Программа завершена, возвращено значение 0, что означает успешный конец работы.