Dear All,

I have written a program to calculate the square root of an input number. It gives me an erroneous answer,for example, when I input the number 5, I get an answer 2.5 whereas I should get 2.24, same with other numbers. Below is the program, please point out bugs and fixes:

Code:#include<stdio.h> #include<stdlib.h> #include<math.h> int main() { float error=.00001,g1=0.0,g2=0.0,m; printf("Enter number whose square root has to be calculated"); scanf("%f",&m); g2=m/2; while (abs(g1-g2)<error) { g1=g2; g2=(g1+(m/g1))/2; } printf("The square root of entered number is %f",g2); system("pause"); return 0; }