打印指定数字范围内的素数,程序如下:
1 #include<stdio.h>
2 void find_primes(int m)
3 {
4 int i,j,n=0; // n用于控制换行
5 for(i=1;i<m;i++)
6 {
7 for(j=2;j<i;j++)
8 {
9 if(i%j==0) break;
10 }
11 if(j==i)
12 {
13 printf("%6d",i);
14 n++;
15 if(n%7==0) printf("\n");
16 }
17 }
18 printf("\n");
19 }
20 int main()
21 {
22 int i;
23 printf("Please input the number : ");
24 scanf("%d",&i);
25 printf("Results : \n");
26 find_primes(i);
27 return 0;
28 }
或者
1 #include<stdio.h>
2 #include<math.h>
3 void find_primes(int m)
4 {
5 int i,j,k,n=0;
6 for(i=2;i<m;i++)
7 {
8 k=(int)sqrt(i);
9 for(j=2;j<=k;j++)
10 {
11 if(i%j==0) break;
12 }
13 if(j>k)
14 {
15 printf("%6d",i);
16 n++;
17 if(n%7==0) printf("\n");
18 }
19 }
20 printf("\n");
21 }
22 int main()
23 {
24 int i;
25 printf("Please input the number : ");
26 scanf("%d",&i);
27 printf("Results : \n");
28 find_primes(i);
29 return 0;
30 }
需要注意的是:1不是素数也不是和数,gcc编译时需加“-lm”参数,g++则不用。
调试环境:Unix-Center Fedora Core 10,Ubuntu 8.04,gcc||g++,Windows XP SP3,Visual Studio 2005
欢迎交流:81064483(QQ),[email protected](MSN&&E-mail)