Циклы, найти среди чисел первое большее чем заданное 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 - C (СИ)»

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);
}

14   голосов, оценка 3.857 из 5


СОХРАНИТЬ ССЫЛКУ