Циклы, найти среди чисел первое большее чем заданное A - C (СИ)

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

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

здравствуйте! вот программа:
/*условие задачи:Дано действительное число а(1<а<3).
Составить  алгоритм, находящий среди чисел 1 , 1+1/2 , 1+1/2+1/3 , ... первое, большее а.*/
#include<stdio.h>
#include<math.h>
#include<locale.h>
void main()
{
    setlocale(0, "russian");
    double a, s;
    int i;
    i = 1;
    printf("Введите число больше 1 и меньше 3\n");
    scanf_s("%f", &a);
    for (s = 0; s <= a; i++)
    {
        s = s + 1/i;
    }
    printf("%f\n", s);
}
Вопрос: почему не выполняется цикл?

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

textual
Листинг программы
#include<stdio.h>
#include<math.h>
#include<locale.h>
void main()
{
    setlocale(0, "russian");
    double a, s;
    int i;
    i = 1;
    printf("Введите число больше 1 и меньше 3\n");
    scanf("%lg", &a);
    for (s = 0; s<=a; i++)
    {
        s = s + 1./i;
    }
    printf("%lg\n", s);
}

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

  1. Подключение необходимых библиотек для работы с числами и локалью.
  2. Установка локали на русский язык.
  3. Объявление переменных: a - для хранения введенного числа, s - для хранения суммы, i - для итераций по циклам.
  4. Установка значения i равным 1.
  5. Вывод сообщения с просьбой ввести число в заданном диапазоне.
  6. Считывание числа с помощью функции scanf и сохранение его в переменной a.
  7. Инициализация переменной s значением 0.
  8. Начало цикла, который выполняется до тех пор, пока s меньше или равно a.
  9. Внутри цикла значение переменной s увеличивается на 1/i.
  10. После окончания цикла выводится значение переменной s.

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


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

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

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