Найти сумму чисел, записанных в строку через пробел - C (СИ)

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

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

Помогите пожалуйста преобразовать последовательность символов в числовое значение : В строке записаны вещественные числа, которые разделены пробелами. Найти сумму этих чисел.

Решение задачи: «Найти сумму чисел, записанных в строку через пробел»

textual
Листинг программы
#include <stdio.h>
 
int main()
{
  const char str[] = "123.456 789.123   23.32 3.14";
  double sum = 0;
 
  const char *ptr = str;
  double value;
  int n;
 
  while (sscanf(ptr, "%lf%n", &value, &n) > 0)
  {
    sum += value;
    ptr += n;
  }
 
  printf("%s\n", str);
  printf("Sum = %lf\n", sum);
}

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

В этом коде:

  1. Объявлена строка str, которая содержит несколько чисел, записанных через пробел.
  2. Инициализирована переменная sum, которая будет использоваться для хранения суммы чисел.
  3. Объявлен указатель ptr, который будет использоваться для чтения чисел из строки str.
  4. Объявлены переменные value и n, которые будут использоваться для хранения прочитанного числа и длины прочитанного числа соответственно.
  5. В цикле while происходит чтение чисел из строки str с помощью функции sscanf. Функция sscanf пытается прочитать число из строки и сохранить его в переменной value. Если это удалось, то число добавляется к сумме sum, а указатель ptr перемещается на следующую позицию в строке.
  6. После окончания цикла while выводится исходная строка str.
  7. Выводится значение суммы sum.

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


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

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

5   голосов , оценка 4.2 из 5
Похожие ответы