What I am trying to do here is, I am taking a precision value (less than 1) and printing count of all the numbers of type 1/n (n is natural number) which are greater than or equal to the precision value (input).
#include <stdio.h>
int main(){
    int i=1,terms=0;
    float n;
    printf("Enter precision value : ");
    scanf("%f",&n);
    while(i>0){
        if ((1.0/i) >= n){
            printf("%f\n",1.0/i);
            sum = sum + (1.0/i);
            terms++;
            i++;
        }
        else
            break;
    }
    printf("number of terms : %d\n",terms);
    return 0;
}
But if I give input 0.1 than the count (output) is showing only 9. but it should show 10 (it is not including 1/10).
I was using a for loop before and I know that breaking a loop with an if-else statement is not the best thing.
 
    