demo4.c(求100以內的素數)

/*
*功能:求100以內的素數,全部打印出來
*目的:練習C語言(一個數不能被2~根號這個數的數整除,則是素數)掌握素數的判斷
*/


#include <stdio.h>
#include <math.h>

int  prime(int num)
{
int j;
int n = 0;
int flag = 1;//定義標誌

n = sqrt(num);//對當前值num開方

for(j = 2; j <= n; j ++)
{
if(num % j == 0)//判斷若存在該數可以整除,則不是素數
{
flag = 0;
break;
}
}

if(flag)//未經過上面的置0
{
printf("%d  ",num); //打印出素數
}
return 0;
}




int main(int argc,char *argv[])
{
int i;
int num = 0;
int result = 0;

printf("input n:\n");
scanf("%d",&num);
printf("1~%d prime numbers:\n",num);//列出提示信息

for(i = 3;i <= num; i++)
{
prime(i);
}

printf("\n");
return 0;
}





/*測試結果:~#./test
*
* 3  5  7  11  13  17  19  23  29  31  37  41  43  47  53  59  61  67  71  73  79  83  89  97  

*/


/*小結:linux環境下沒有鏈接math庫,編譯時需要加-lm
*編譯命令:cc -o test 4.c -lm
*/
發佈了60 篇原創文章 · 獲贊 6 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章