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

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

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

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

Решение задачи: «Форматные функции 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;
}

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

  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
Похожие ответы