Циклы, найти среди чисел первое большее чем заданное 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д