/*將100以內的素數用數組保存起來,再將數組里的值打印出來*/ #include <stdio.h> int Pd_Ss(int i); int main(){ int a[100] = {0}; //用於存儲素數 int i = 0,k = 0; //用於循環的計數 printf("100以內的素數有:\r\n"); for(i = 2; i<=100 ;i++){ //判斷2-100的所有數 if(Pd_Ss(i) == 1){ //調用函數判斷 如果函數返回1,則將i的值錄入數組 a[k++]=i; //將素數存入數組 } } for(i = 0; i<k; i++){ printf("a[%d]=%d\r\n",i,a[i]); //輸出素數 } printf("\r\n"); //換行 return 0; } int Pd_Ss(int i){ //判斷素數的函數 int j; for(j = 2;j * j <= i ; j++){ if(i % j == 0){ //如果取余為0,則返回0(退出函數) return 0; } } return 1; //返回1 }
備注:該程序代碼比較基礎,所有程序中的變量名比較隨意
判斷素數的函數(Pd_Ss)的思路:利用循環,判斷 i 的值與 j 的平方,當 j 平方小於 i 時,進入循環,判斷此時的 i 能否整除 j,如果能整除,說明 i 不是素數,返回0退出函數,否則返回 1;