Циклы, найти среди чисел первое большее чем заданное 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);
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с числами и локалью.
- Установка локали на русский язык.
- Объявление переменных: a - для хранения введенного числа, s - для хранения суммы, i - для итераций по циклам.
- Установка значения i равным 1.
- Вывод сообщения с просьбой ввести число в заданном диапазоне.
- Считывание числа с помощью функции scanf и сохранение его в переменной a.
- Инициализация переменной s значением 0.
- Начало цикла, который выполняется до тех пор, пока s меньше или равно a.
- Внутри цикла значение переменной s увеличивается на 1/i.
- После окончания цикла выводится значение переменной s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д