Лучшая программа для оценки квадратного корня числа

Я новичок в языке программирования C, и мне дали задание написать программу, которая вычисляет квадратный корень из натурального числа без использованияmath.h или любая другая библиотечная функция, кромеstdio.h.

Смотрите, мы работаем сint во всем, поэтому для не квадратных чисел мы находим пол квадратного корня из п. Теперь я сделал эту программу, но она работает только для идеальных квадратов, но для не квадратов она не работает. Я цитирую это здесь, я надеюсь, что есть какой-то способ изменить это.

#include <stdio.h> 
main() 
{    
    int a;
    scanf("%d", &a);
    int s = 1, l = a, mid = 0;
    while(s < l)
    { 
      mid=(s + l)/2;
      if((mid * mid) == a)
      {
          break;
      }
      else if ((mid * mid) < a)
      {
          s = mid + 1;
      }
      else
      {
          l = mid;
      }

    }   
    printf("%d", mid);
}

Большое спасибо за вашу помощь, и, пожалуйста, поправьте меня, когда сможете.

Отредактировано: извините за неудобства.

Ответы на вопрос(0)

Ваш ответ на вопрос