[C How To Program] 习题6.30 erato_traverse

来源:互联网 发布:伊士顿高频交易算法 编辑:程序博客网 时间:2024/06/14 21:40
#include <stdio.h>#define N 1000void init(int [], int);void print_arr(int [], int n);void erato_traverse(int [], int ,int);int main(){int a[N], i;init(a, N);for(i = 2; i < N; i++){erato_traverse(a, N, i);}print_arr(a, N);}void init(int a[], int n){int i;for( i = 0; i < n; i++){a[i] = 1;}}void erato_traverse(int a[], int n, int t){int i;if( a[t] ){for(i = t + 1; i < n; i++){if(!(i % t)){a[i] = 0;}}}}void print_arr( int a[], int n){int i;for( i = 1; i < n; i++){if( a[i] ){printf("%d ",i);}}}

0 0
原创粉丝点击