例5 -4 源程序 /* 用格里高利公式计算π的近似值, 精度为e */ #include <stdio. h> double funpi (double e) #include <math. h> { int denominator, flag; int main (void) double item, sum; { double e, pi; flag = 1; double funpi (double e); denominator = 1; item = 1. 0; sum = 0; printf ("Enter e: "); while (fabs (item) >= e){ scanf ("%lf", &e); item = flag * 1. 0 / denominator; pi = funpi (e); sum = sum + item; printf ("pi = %fn", pi); flag = -flag; denominator = denominator + 2; } return 0; return sum * 4; } }
#include <stdio. h> #include <math. h> int main(void) { int count, m; int prime (int m); count = 0; for(m = 2; m <= 100; m++){ if ( prime(m) != 0 ){ printf("%6 d", m ); count++; if (count %10 == 0) printf ("n"); } } printf ("n"); 例5 -5 源程序 int prime (int m) { int i, n; if ( m == 1 ) return 0; n = sqrt (m); for( i = 2; i <= n; i++) if (m % i == 0){ return 0; } return 1; }
例5 -9 静态局部变量示例 #include <stdio. h> void fun (int k); int main (void) { int k; for (k = 1; k <= 3; k++) 0, 1, 3, fun (k); return 0; } void fun(int k) { static int a; 静态变量的初值为 0 printf ("%d, ", a); a += k ; 静态变量会记住前一次调用时留下来的值 }