用c語言編寫在自然數中輸出100以內的素數

2021-12-16 15:01:06 字數 6943 閱讀 8893

1樓:

#include

//輸出100之內的所有素數

int main()

int i;

int j;

int flag = 1;

for(i = 2;i <= 100;i++)for(j = 2;j <= i / 2;j++)if(i % j ==0)

flag = 0;

break;

if(flag == 1)

printf("%d\n",i);

flag = 1;

return 0;

擴充套件資料#include

int main()

int a;

for (int i = 2; i < 100; i++)int a = 0;

/* code */

for (int j = 2; j < i; j++)/* code */

if (i % j == 0)

/* code */

a++;

if (a == 0)

/* code */

printf("%d is sushu\n", i);

else

/* code */

printf("%d is not sushu\n", i);

}return 0;

2樓:小夏在深圳

在自然數中輸出100以內的素數的源**如下:

#include

#include

int main()

int x;

scanf("%d",&x);

if(x==2||x==3)

printf("%d是素數",x);

return 0;

不是素數",x);

return 0;

else

for(int i=5;i<=sqrt(x);i+=6)if(x%i==0||x%(i+2)==0)printf("%d不是素數",x);

return 0;

printf("%d是素數",x);

return 0;

擴充套件資料/*判斷101-200之間有多少個素數,並輸出所有素數及素數的個數的源**如下:

#include "math.h"

main()

intm,i,k,h=0,leap=1;

printf("\n");

for(m=101;m<=200;m++)k=sqrt(m+1);

for(i=2;i<=k;i++)

if(m%i==0)

leap=0;break;

if(leap)    /*內迴圈結束後,leap依然為1,則m是素數*/

{printf("%-4d",m);h++;

if(h%10==0)

printf("\n");

leap=1;

printf("\nthetotal is %d",h);

3樓:1024程式設計師

c語言經典例子之求100之內的素數

4樓:匿名使用者

我提供兩種方法先是最簡單的陣列篩子:把陣列下標當做物件;

#include

int main()

,i,m;

for(i=2;i<=100;i++)

for(m=2;i*m<=100;m++)a[i*m]=1; \*被賦為1的陣列元素的下標則不是素數*\

for(i=2;i<=100;i++)

if(a[i]==0)

printf("%d",i);

}下面給出另一**:

#include

int main()

if(k==1)

printf("%d ",i);

} }上面**還可用到sqrt()函式for(j=2;j

5樓:匿名使用者

#include

int main(void)

return 0;}

6樓:章無計●遠

#include

main()}

輸出100以內的質數,用c語言編寫

7樓:勝軍

#include

int main(int argc, char **argv)int x;

for (x=1;x<100;x++){

int i;

int isprime=1;//表示x是素數。

for(i=2;iif (x%i==0){isprime=0;

break;

if (isprime==1){

printf("%d",x);

return 0;

c語言程式設計計算注意事項:

1、程式設計時注意符號大小寫。

2、main函式要有返回值

3、c語言中定義陣列,要定義出大小,陣列的大小隻能是常量不能是變數。

4、%md ; %0md ;%.mf;(以m位進行右對齊輸出,不足m位空格補上;以m位進行右對齊輸出。不足m位用0補上;保留m位小數)

8樓:

#include

int main()

int i,j;

int count=0;

for(i=2;i<100;i++)

for(j=2;j<=i/2;j++)

if(i%j==0)//如果i能被j整除  就不是質數  退出迴圈break;

if(j>i/2)

count++;

printf("%-3d",i);

if(count%5==0)//當每一行有5個數時  換行printf("\n");

return 0;

for(j=2;j<=i/2;j++)中的 j<=i/2是表示  從j=2開始遍歷到j=i/2  看看2~i/2中能否整除i

如果都不能  說明i是質數(也就是j>i/2)如果有1個及以上能整除i  說明i不是質數for()

//for迴圈結束之後  j的值是大於i/2的  因為for迴圈的條件是:j<=i/2

//因此  當j>i/2時  for迴圈結束if(j>i/2)

這裡當且僅當2~i/2都不能整除i時   也就是j>i/2  才說明i是質數

參考資料

9樓:未來需努力點綴

樓主你好

用最簡單的方式編寫的:

#include

int main()

}return 0;

}希望能幫助你哈

10樓:層主最帥了啊

#include

int main()

return 0;

}//大佬們看一下這樣子寫可以嗎?謝謝

11樓:乾利華

#include

void main ()}}}

12樓:

#include

int main()

return 0;}

13樓:匿名使用者

#include //簡單粗暴,符合樓主要求int main()

if(i==j)

else

break;}}

return 0;}

14樓:

樓上雖是正解,但不用函式是嗎?

把他的函式寫到main裡面就行了,稍微改些地方就ok了。

用c語言求100以內的素數

15樓:

單獨定義一個判斷是否為素數的函式,是則返回1,否則返回0。再用2或遍歷3~100的所有奇數依次呼叫這個函式,輸出返回1對應的值。舉例如下:

//#include "stdafx.h"//if the vc++6.0, with this line.

#include "stdio.h"

int prime(int n)

int main(void)

16樓:1024程式設計師

c語言經典例子之求100之內的素數

17樓:匿名使用者

#include

int main()

printf("\n");

return 0;}

18樓:匿名使用者

#include

int isprime(int n)

void main()

c語言 輸出1到100之間的全部素數?

19樓:

有三種方法:

1、輸出1-100以內的素數:

2、同樣,也是輸出1-100以內的素數,這個構造一個陣列,將其所有元素初始化為1,表示素數,這時取x從2開始,到100以內做迴圈。

若x為素數,即prime[x]!=0,使得每個i*x位置元素置0(prime[i*x]=0),表示為非素數,迴圈結束前x+1。

3、該方法是輸出100個素數,基本思想是構造一個素數表,利用函式判斷每個數是否能被其之前的素數整除,如果不能,則在素數表內加上該元素,不斷迴圈(while迴圈結束條件是cnt即陣列個數》100)。

20樓:胡穰將又菡

遍歷所有值,判斷是否為素數,如是,則輸出。

一、演算法設計:

1、遍歷1到100之間所有數,由於1的特殊性,不是素數也不是合數,所以可以從2開始遍歷;

2、對於每一個數,判斷是否為素數;

3、如果是素數,則輸出,否則繼續下一個。

二、參考**:

#include

#include

int isprime(int n)//判斷素數函式。

int main()

三、執行截圖:

21樓:1024程式設計師

c語言經典例子之求100之內的素數

22樓:匿名使用者

#include

int isprime(int num)

void main()

23樓:****

#include "stdio.h"

main()

if(prime==1)/*從2開始*/

printf("%d\n",j);

}printf("\n");}

24樓:匿名使用者

#include

#include

using namespace std;

int judge(int a)

int i;

for(i=2;i<=(int)sqrt(a);i++)if(a%i==0)return 0;

return 1;

int main(int argc, char* argv)cout<<"2 3 ";

for(int i=4;i<=100;i++)if(judge(i))cout

25樓:匿名使用者

#include

using namespace std;

void main()

else

}cout<

26樓:路還是在腳下

#include

#include "maths.h"

void main ()

if(n%10==0) printf"\n");}

27樓:可愛的

num/2就已經表示你是錯的

c語言求100以內的素數

28樓:1024程式設計師

c語言經典例子之求100之內的素數

29樓:bp哥

這個問題是c語言中比較常見的一種題目,做法有很多中,我這裡提供一種最基礎的演算法,**如下:

//c語言:求100以內素數。

#include

voidmain(){

inti,j;

for(i=2;i<=100;i++){

intt=1;

for(j=2;j

30樓:廖慨督斯年

第二個for迴圈不能用t控制,因為t是flag再控制迴圈無法執行下去#include

void

main()}

31樓:原冷虢思源

#include#include

//system()函式包含在這個標頭檔案中void

main()

//這裡丟了大括號,

if(i==j)

//這裡有錯,判斷應該是==

而不是=

,要細心

else

continue; }}

32樓:桖飛

1解:#include

#include

intpr(int

n)int

main(void)

2解:#include

intisprime(int

a)void

main()

printf("100以內所有素數的和為:\n%d\n",sum);

}int

isprime(int

num)

用c語言編寫程式輸出菱形圖案,用C語言編寫一個程式輸出菱形圖案

include int main void for i 1 i n 1 i return 0 include include void main for i n 2 i 0 i return include stdafx.h vc 6.0加上bai這一行 duzhi.include stdio.h ...

從鍵盤輸入任意自然數,程式設計實現反序輸出(用c 編寫),謝謝

include iostream.h main cout include iostream include string.h using namespace std main cout return 0 include using namespace std int main include inc...

用c語言輸入自然數n求n同時統計結果中有多

n 應該會求吧.就是1 2 3 4 5 n.1.把數字轉化成字串,統計結果中0的個數.include include int digit int n while n 0 n 0 return d void itoa int n,char des else void itora int n,char ...