用两个函数来实现求1到某个数字之间所有的素数并输出
比只用一个函数,可重用性更高。
1 # include <stdio.h>
2 bool IsPrime(int m);
3
4 void TraverseVal(int n) //本函数就是把1到n之间所有的素数在显示器上输出
5 {
6 int i;
7 for(i=2; i<=n; i++)
8 {
9 if( IsPrime(i))
10 printf("%d\n",i);
11 }
12
13 }
14
15 bool IsPrime(int m)
16 {
17 int j;
18 for(j=2; j<m; j++)
19 {
20 if (0 == m%j)
21 break;
22 }
23 if (j == m)
24 return true;
25 else
26
27 return false; //判断是不是素数
28 }
29 int main(void)
30 {
31 int val;
32 int i;
33
34 scanf("%d",&val);
35 TraverseVal(val);
36
37 return 0;
38 }
3
4 void TraverseVal(int n) //本函数就是把1到n之间所有的素数在显示器上输出
5 {
6 int i;
7 for(i=2; i<=n; i++)
8 {
9 if( IsPrime(i))
10 printf("%d\n",i);
11 }
12
13 }
14
15 bool IsPrime(int m)
16 {
17 int j;
18 for(j=2; j<m; j++)
19 {
20 if (0 == m%j)
21 break;
22 }
23 if (j == m)
24 return true;
25 else
26
27 return false; //判断是不是素数
28 }
29 int main(void)
30 {
31 int val;
32 int i;
33
34 scanf("%d",&val);
35 TraverseVal(val);
36
37 return 0;
38 }