Write a program to compute the square root of a given number (without using sqrt() function of the math library).

C Programming Language Loop control in C Language (Article) Loop control in C Language (Program)

1928

Program:

<span class="pln">
</span><span class="com">/* C progarm to compute the square root of a given number */</span><span class="pln">

</span><span class="com">#include</span><span class="pln"> </span><span class="str">&lt;stdio.h&gt;</span><span class="pln">
</span><span class="com">#include</span><span class="pln"> </span><span class="str">&lt;math.h&gt;</span><span class="pln">

</span><span class="kwd">int</span><span class="pln"> main</span><span class="pun">(</span><span class="kwd">void</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
	</span><span class="kwd">float</span><span class="pln"> m</span><span class="pun">,</span><span class="pln"> f</span><span class="pun">,</span><span class="pln">s</span><span class="pun">;</span><span class="pln">
	printf</span><span class="pun">(</span><span class="str">"\n Enter the number:  "</span><span class="pun">);</span><span class="pln">
	scanf</span><span class="pun">(</span><span class="str">"%f"</span><span class="pun">,&amp;</span><span class="pln">m</span><span class="pun">);</span><span class="pln">
	</span><span class="com">/* Checking for negative input */</span><span class="pln">
	</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">m</span><span class="pun">&lt;</span><span class="lit">0</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		printf</span><span class="pun">(</span><span class="str">"\n Negative Input For Computing Square Root Is Not Allowed"</span><span class="pun">);</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
	s</span><span class="pun">=</span><span class="pln">m</span><span class="pun">/</span><span class="lit">2</span><span class="pun">;</span><span class="pln"> </span><span class="com">/* Set the initial guess */</span><span class="pln">
	</span><span class="kwd">do</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		f</span><span class="pun">=</span><span class="pln">s</span><span class="pun">;</span><span class="pln">
		s</span><span class="pun">=(</span><span class="pln">f</span><span class="pun">+</span><span class="pln">m</span><span class="pun">/</span><span class="pln">f</span><span class="pun">)/</span><span class="lit">2</span><span class="pun">;</span><span class="pln">  </span><span class="com">/* Compute the next estimate for the square root */</span><span class="pln"> 
		
	</span><span class="pun">}</span><span class="kwd">while</span><span class="pun">(</span><span class="pln">fabs</span><span class="pun">(</span><span class="pln">f</span><span class="pun">-</span><span class="pln">s</span><span class="pun">)&gt;=</span><span class="lit">0.000001</span><span class="pun">);</span><span class="pln">
	
	printf</span><span class="pun">(</span><span class="str">"\n Square root of %g is %g\n"</span><span class="pun">,</span><span class="pln">m</span><span class="pun">,</span><span class="pln">s</span><span class="pun">);</span><span class="pln">

    getch</span><span class="pun">();</span><span class="pln">
	</span><span class="kwd">return</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span>

Output:

 Enter the number:  36

 Square root of 36 is 6

Explanation:

None

This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.