home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_11_04
/
1104040a
< prev
next >
Wrap
Text File
|
1993-02-27
|
1KB
|
54 lines
int sum(a,b, term)
int a,b, (*term) ();
{
int i, sum = 0;
for (i=a; i<b; i++)
sum = sum + (*term) (i);
return sum;
}
double dsum(a,b, term)
int a,b;
double (*term) ();
{
int i;
double sum = 0;
for (i=a; i<b; i++)
sum = sum + (*term) (i);
return sum;
}
double pi(x)
int x;
{ return 1.0/(16*x*x + 16*x + 3); }
int id(x)
int x;
{ return x; }
int sq(x)
int x;
{ return x*x; }
int main(argc, argv)
int argc;
char **argv;
{
int n,x;
char * pid, *psq, *ppi;
if (argc < 2) return -1;
n = atoi(argv[1]);
x = atoi(argv[2]);
pid = (char *) id;
psq = (char *) sq;
printf("%d is the sum of %d to %d\n", sum(n,x,pid), n, x);
printf("%d is the sum of squares from %d to %d\n\n", sum(n,x,psq),n,x);
ppi = (char *) pi;
printf("%10.8f is an approximation of PI\n\n", 8*dsum(n,x,ppi));
return 0;
}