This documentation is copyright © 1998-2001 Sandro Sigala <sandro@sigala.it>.
All rights reserved.
Released under the GNU General Public License.
sqrt
Prototype
#include <math.h>
double sqrt(double x);
Description
Returns \ldots
Example
#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