Форматные функции printf() и scanf() - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Вот читал про рсдн про эти функции.Убил моск...Помогите разобраться. Вот она,статья: _http://www.rsdn.ru/forum/cpp/1128588.1.aspx Как обычно, квадратные скобки означают, что этот элемент спецификатора может отсутствовать. По сравнению со спецификатором формата для вывода только символ *(звездочка) имеет другой смысл: если она указана, то запись значения в соответствующую переменную не происходит. Например, можно определить ввод двух значений в две числовых переменных, разделяя их при вводе любым символом
Листинг программы
  1. double a,b;
  2. scanf("%lf%*c%lf",&a,&b);
Хрень какаято ей Богу.Про звёздочку не понял.В какую,***,соответствующцую переменную,если их тут всего две ?! Последнее предложение аналогично. Каким образом тут разделять значения переменных a и b я не знаю... explode() в РНР куда проще осилить.Затем возникла головная боль о фильтрации данных.Пользователь может навводить тут чёрт знает что!

Решение задачи: «Форматные функции printf() и scanf()»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int main (void)
  4. {
  5.   float f = 12.34567;
  6.  
  7.   /* '%f' означает простая печать числа в формате float или double
  8.    * В данном случае напечатается "1.234000" */
  9.   printf ("%f\n", f);
  10.  
  11.   /* '%e' означает печать числа в формате float или double в эспотенциальном виде
  12.    * В данном случае напечатается "1.234567e+01", что следует понимать
  13.    * как 1.234567 * 10^1 */
  14.   printf ("%e\n", f);
  15.  
  16.   /* '%.02f' означает то же, что и %f, но значение округляется до 2 знаков после запятой
  17.    * В данном случае напечатается "12.35" */
  18.   printf ("%.02f\n", f);
  19.  
  20.   /* '%.02e' означает то же, что и %e, но значение округляется до 2 знаков после запятой
  21.    * В данном случае напечатается "1.23e+01" */
  22.   printf ("%.02e\n", f);
  23.  
  24.   return 0;
  25. }

Объяснение кода листинга программы

  1. Объявлена переменная типа float f со значением 12.34567.
  2. Используя функцию printf() с форматом '%f', напечатано значение переменной f, после чего добавлен символ новой строки '\n'. Результат: 1.234000.
  3. Используя функцию printf() с форматом '%e', напечатано значение переменной f в экспоненциальном виде, после чего добавлен символ новой строки '\n'. Результат: 1.234567e+01.
  4. Используя функцию printf() с форматом '%.02f', напечатано значение переменной f, округленное до двух знаков после запятой, после чего добавлен символ новой строки '\n'. Результат: 12.35.
  5. Используя функцию printf() с форматом '%.02e', напечатано значение переменной f в экспоненциальном виде, округленное до двух знаков после запятой, после чего добавлен символ новой строки '\n'. Результат: 1.23e+01.
  6. Программа завершена, возвращено значение 0, что означает успешный конец работы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы