C 数组实例 - 求 100 之内的素数

贴个代码:

 1 # include <stdio.h>
2 # include <math.h>
3
4 int main(void)
5 {
6 int i, j, n, a[101];
7
8 for(i = 1; i <=100; i++)
9 {
10 a[i] = i; //使 a[1] 到 a[100] 的值为 1 到 100
11 }
12
13 //a[1]的值是:1,1不是素数,所以将其值赋为0
14 a[1] = 0;
15
16 for(i = 2; i < sqrt(100.0); i++)
17 {
18 for(j = i + 1; j <= 100; j++)
19 {
20 if(a[i] !=0 && a[j] != 0)
21 {
22 if(a[j] % a[i] == 0) //用被找出的上一个素数,去除以其后面的每一个数
23 {
24 a[j] = 0; //如果能够被整除(条件成立),将该数赋值为 0,即非素数
25 }
26 }
27 }
28 }
29
30 for(i = 2, n = 0; i <= 100; i++)
31 {
32 if(a[i] != 0) //选出值不为 0 的数组元素,即素数
33 {
34 printf("%-5d", a[i]);
35 n++;
36 }
37 if(n == 10)
38 {
39 printf("\n");
40 n = 0;
41 }
42 }
43
44 return 0;
45 }



 

posted @ 2011-11-29 14:08  Nature.Art  阅读(3860)  评论(0编辑  收藏  举报