Linux C一站式学习习题答案6.4求素数

来源:互联网 发布:中级java工程师面试题 编辑:程序博客网 时间:2024/04/30 22:56

求素数这个程序只是为了说明breakcontinue的用法才这么写的,其实完全可以不用breakcontinue,请读者修改一下控制流程,去掉breakcontinue而保持功能不变。

分别使用while和for写了两种,代码如下:

while:

 #include<stdio.h>  2 /*求0到100内的素数*/  3   4 /*判断一个数是不是素数*/  5 int is_prime(int n)  6 {  7         int i=2;  8         while ( n%i!=0 )  9                 i++; 10         if ( n==i ) 11                 printf( "%d\n",n ); 12         return 0; 13 } 14  15 /*打印出从0到100的素数*/ 16 int main() 17 { 18         int i=2; 19         while ( i<=100 ) 20         { 21                 is_prime(i); 22                 i++; 23         }

for:

  1 #include<stdio.h>  2 /*求0到100内的素数*/  3   4 /*判断一个数是不是素数*/  5 int is_prime(int n)  6 {  7         int i;  8         for ( i=2;n%i!=0;i++ );  9         if ( n==i ) 10                 printf( "%d\n",n ); 11         return 0; 12 } 13  14 /*打印出从0到100的素数*/ 15 int main() 16 { 17 //      printf ( "1\n" ); 18         int i; 19         for ( i=2;i<=100;i++ ) 20                 is_prime(i); 21         return 0; 22 }

for循环的一开始在第8行后面没加“;”,怎么都运行不成功,找了好久才发现问题,以后还算少使用这种简写的好~

转载请注明源地址:http://blog.csdn.net/whorus1/article/list/2,谢谢!


0 0
原创粉丝点击