This documentation is copyright © 1998-2001 Sandro Sigala <sandro@sigala.it>.
All rights reserved.

Released under the GNU General Public License.

Return to index Return to header Previous symbol Next symbol

sqrt

Prototype

#include <math.h>

double sqrt(double x);

Description

Returns \ldots

Example

View source
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

#define GAMMA	6.67259e-11

/* Calculate the minimum escape speed. */
double required_speed(double radius, double mass)
{
    return sqrt((2 * GAMMA * mass) / radius);
}

/*
 * escape.c: calculate the minimum speed required by a body to
 *           escape from the gravitational attraction of some
 *           known planets.
 */
int main(void)
{
    static const struct {
	char *name;
	double radius, mass;
    } planets[] = {
	/* Name      Radius   Mass    */
	{ "Sun",     6.96e08, 1.99e30 },
	{ "Mercury", 2.44e06, 3.30e23 },
	{ "Venus",   6.05e06, 4.87e24 },
	{ "Earth",   6.37e06, 5.97e24 },
	{ "Mars",    3.39e06, 6.42e23 },
	{ "Jupiter", 6.98e07, 1.90e27 },
	{ "Saturn",  5.82e07, 5.68e26 },
	{ "Uranus",  2.37e07, 8.70e25 },
	{ "Neptune", 2.24e07, 1.03e26 },
	{ "Pluto",   2.05e06, 6.63e23 },
	{ "Moon",    1.74e06, 7.35e22 }
    };
    unsigned int i;
    double speed;

    for (i = 0; i < sizeof planets / sizeof planets[0]; ++i) {
	speed = required_speed(planets[i].radius, planets[i].mass);
	printf("Speed to escape from %-8s: %.3f km/h\n",
	       planets[i].name, speed * 3.6);
    }

    return EXIT_SUCCESS;
}

References

ISO C 9899:1990 XXX