當前位置:首頁 » 編程語言 » c語言輸出素數編寫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言輸出素數編寫

發布時間: 2022-12-20 18:20:55

A. 輸出[m,n]之間的素數,用c語言編程怎麼寫。謝謝,

先定義一個函數判斷是否素數,例如:
int fun(int x){
int i;
for (i=2;i<x;i++) if (x%i==0) return 0;
return 1;
}

主程序輸入m和n,然後循環他們之間的所有數,調用函數fun返回1的就輸出,例如:
main(){
int m,n,i;
scanf("%d%d",&m,&n);
for (i=m;i<=n;i++) if (fun(i)) printf("%d\t",i);
}

把上面兩部分連接起來,最前面加上下面一行就是完整的程序:
#include <stdio.h>

B. C語言:輸出素數

if (i>=k+1)
{
printf("%4d",n);
m=m+1;
}
if (m%5==0)
{
printf("\n");
}
這一段
應該改成
if (i>=k+1)
{
printf("%4d",n);
m=m+1;
if (m%5==0)
{
printf("\n");
}
}

因為你的m只有在遇到素數時才應該判斷是否要換行,下面的判斷語句如果放在if外面,就會導致在遇到一些非素數時依然去輸出換行

C. 編寫C語言程序,輸入一些正整數,輸出其中的素數

任意范圍內篩選素數
#include "stdio.h"
void main()
{
int h,l,a,b,c;

printf("請輸入該范圍的最小值和最大值\n");
scanf("%d %d",&c,&a);
for(h=c;h<=a;h++)
{
b=1;
for(l=2;l<h;l++)
{
if(h%l==0)
b=0;
}
if(b==1)
printf("%3d",h);
}
}

D. 用c語言編寫程序輸出1-100內的素數

用常規的判素性方法可如下實現
#include "stdio.h"
#include "math.h"
bool IsPrime(int x)
{
int i, s;
s = sqrt(x + 1);
for(i = 2; i <= s; i++)
if(x % i == 0) return false;
return true;
}
void main( )
{
int i;
for(i = 2; i < 100; i++)
if(IsPrime(i))
printf("%d ", i);
}
也可採用篩選法,篩選法效率會高一些,樓上的雖然也是篩選法,但他的效率卻並不高。篩選法的思路是將那些非素數篩掉,留下那些素數。命題「對於1<x<100的合數x, 必含有小於10的質因子」可以證明是真命題,它的逆反命題「對於1<x<100的數,如果不含有小於10的質因子,則它必為素數。」則也是真命題。因此篩除時,只要篩除含有10以內的質因子的數就可以了。下面給出篩選法的代碼。
#include "stdio.h"
void main( )
{
bool isprime[100];
int i, j;
isprime[0] = false;
isprime[1] = false;
for(i = 2; i < 100; i++) /*先初始化2~100的都是素數,然後將非素數篩除掉*/
isprime[i] = true;
for(i = 2; i < 10; i++) /*將所有含有小於10的質因子的數篩除掉*/
{
if(isprime[i]) /*如果i是素數,則將它的倍數全部篩掉*/
for(j = i * i; j < 100; j += i) /*從i*i開始檢測是因為小於i*i的合數都被小於i的素數篩除了*/
isprime[j] = false;
}
for(i = 2; i < 100; i++)
if(isprime[i])
printf("%d ", i);
}

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

#include<stdio.h>

//輸出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 ",i);

}

flag = 1;

}

return 0;

}

(5)c語言輸出素數編寫擴展閱讀

#include <stdio.h>

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 ", i);

}

else

{

/* code */

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

}

}

return 0;

}

F. c語言編寫程序,輸出1000內的所有素數, 每行顯示10個數

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*****************************************************************
*本程序用來計算1000內質數有哪些及一共有哪些。
*
*知識點:什麼是質數?及只能被本身和1整除的整數。
*
*時間:2018.10.22
*****************************************************************/
int main(void)
{
int i,j,result = 0,sum = 0; //i-循環變數和被判斷數 j-循環變數和判斷數 result-驗證是否為質數的返回值 sum-質數總量計數
for (i = 2;i <= 1000;i++) //第一個循環用來取出被判斷數 從2開始到1000
{
for (j = 2; j <= sqrt(i) + 1;j++) //第二個循環是用來判斷這個數是否為質數並返回,從2開始至被判斷數開根後+1. sqrt(i)後面不+1 會把質數2 3丟掉
{
if (i%j == 0 && i != j) //如果被判斷數用2-被判斷數來取余,如果余數為0 且不是被自已整除那麼這個數一定不是質量直接返回
{
result = 0; //判斷出是質數後返回前必須給返回值賦0值,0代表非質數 1代表質數
break;
}
result = 1;
}
if (result == 1) //如果此數為質數 質數總量+1後並列印 把result返回值初始化准備下一個循環判斷。
{
sum++;
printf("第%d個質數:%d \n",sum,i);
result = 0;
}
}
return 0;
}

G. C語言輸出素數

//你的邏輯錯誤太多,給你個新的得了
#include<stdio.h>

int main()
{
int a,b,i,j;
printf("歡迎使用素數輸出運算,請輸入運算區間a~b。\n");
scanf("%d,%d",&a,&b);
for(i=a;i<=b;i++)
{
if(i>1)
{
for(j=2;j<i;j++)
{
if(0==i%j)
{
break;
}
}
if(j>=i)
{
printf("%d ",i);
}
}
}
return 0;
}

H. 用C語言編寫一個程序,輸出100以內的所有的素數.要求每行僅輸出5個素數.

除2以外,素數皆為奇數,所以對2單獨處理,從3開始,將100以內的奇數逐一進行素數考察,是則輸出,不是則跳過。另設一計數變數控制換行,每輸出5個素數添加一個回車。代碼如下:

#include "stdio.h"

int main(int argc,char *argv[]){

int i,n,t;

pr

#include

#include

main()

{

int a,i,flag,count=0;

for(a=1;a <=100;a++)

{

flag=0;

for(i=2;i

#include int main()

{

int i,n,k,b;

for(i=1,b=1;i<=100;i++)

{

for(n=2;n {

k=i%n;

if(k==0)

break;

}

(8)c語言輸出素數編寫擴展閱讀:

C語言注意事項:

1、預編譯命令不是語言語句,不使用分號,不佔用運行時間。

2、在IDE中通常包括編輯器,編譯器,匯編器和鏈接器,在這個過程中是語言等級逐級降低的過程,從最高級的c語言到中級語言匯編語言再到低級語言機器語言,編輯器生成文件為.c文件,編譯器生成的文件為obj匯編器生成的文件為.0文件,鏈接器生成的是exe文件。

3、注意 return和exit的區別, return是讓本函數運行結束,而exit是讓本程序運行結束。

4、在指針定義時,一定要進行初始化,否則就會出現意想不到的錯誤,如果不能找到對應地址賦值,那就賦給NULL(注意大寫)。

5、gets可以 scanf辦成辦不成的事,就是可以接受空格,puts在最後會輸出一個換行。