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

怎麼用c語言輸出20以內的質數

發布時間: 2022-12-11 12:41:43

A. 用c語言編寫一個程序,輸出1到100中的質數

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

voidmain(){
intm,k;
puts("pleaseinputthenumber:");
scanf_s("%d",&m);
printf(":");
for(intj=1;j<=m;j++){
k=sqrt(j);
for(inti=2;i<=k+1;i++){
if(j%i==0){
break;
}
if(i==k+1){
printf("%d",j);
}
}
}
}
輸入值是100就可以求100以下的質數,為了你方便我沒有把數字寫死。

B. C語言 求10-20以內素數之和

{
int m,i;
for(m=2;m<=10;m++)
{
for(i=2;i<m;i++)
if(m%i!=0) /*為什麼要用!=呢,這樣只要遇到不能被整除的數就會結束循環,這樣有些數字就會判斷錯誤*/
break; //跳出內層循環
printf("%3d",m); /*這個輸出在外層循環中,只要內層循環結束,就會執行,所以就算break起作用了,也只是跳出內層循環,還是會執行這一句,所以會順序輸出m的值*/
}
}

改:
{
int m,i;
for(m=2;m<=10;m++)
{
for(i=2;i<=m;i++) //改成i<=m,因為素數只能被1和他本身整除
if(m%i==0)//判斷是否有數能將m整除
break; //有則跳出內層循環
if(i==m)/*如果m能被其他數整除,則跳出循環後i值一定比m小,如果只被m本身整除,則跳出循環後i==m,證明m為素數*/
printf("%3d",m); //滿足條件才輸出
}
}

C. 用C語言打出質數

樓上的程序運行結果有問題哦。。。

--------------------------------

1.
#include<stdio.h>

main()
{
int i, j, M, N;
int flag; //標志是否為質數

printf("input m:");
scanf("%d", &M);
printf("input n:");
scanf("%d", &N); //輸入M和N

if(M<2)
{
M=2;
printf("2\n");
}//小於2的數不為質數,直接從3數起,並且把質數2列印出來

for(i=M+1;i<=N;i++)//從M到N一個個的數數
{
flag=0; //初始化,為質數
for (int j=2;j<=i/2;j++) //從除以2開始,一直除以到i/2,(不用除到i了,判斷9/7能不能整除沒意義,肯定不行的)
{
if (!(i %j) ) //如果整除(%為取余數)
{
flag=1; //制標志為1(不為質數)
break; //跳到M到N的下一個數
}
}
if (flag==0) printf("%d\n",i); //如果從除以2開始,一直除以到i/2都不能整除,則為質數,列印出來。
}
}

------------------------
VC6.0調試輸出
input m:3
input n:20
5
7
11
13
17
19

2

#include<stdio.h>

int main()
{
int i, j, M, N;
int flag;
printf("input m:");
scanf("%d", &M);

if(M<2)
{
M=2;
printf("2\n");
return 0;
}//小於2的數不為質數,直接從3數起,並且把質數2列印出來,退出

for(i=M+1;;i++)//從M到N一個個的數數
{
flag=0; //初始化,為質數
for (j=2;j<=i/2;j++) //從除以2開始,一直除以到i/2,(不用除到i了,判斷9/7能不能整除沒意義,肯定不行的)
{
if (!(i %j) ) //如果整除(%為取余數)
{
flag=1; //制標志為1(不為質數)
break; //跳到M到N的下一個數
}
}
if (flag==0) printf("%d\n",i);
return 0;//如果從除以2開始,一直除以到i/2都不能整除,則為質數,列印出來。
}
return 0;
}

---------------------------

VC6.0調試輸出

input m:8
11

D. C語言如何實現質數輸出

通過除以小於被除數的所有數
a%d==0 則count『++;
判斷如果count==0,printf(「%d」,a);

E. c語言輸出10到20的所有素數,並統計素數的個數

int f(int n){
int i;
for (i=2;i<n;i++) if (n%i==0) return 0;
return 1;}

void main(){
int i,n=0;
for (i=10;i<=20;i++) if (f(i)) {printf("%d\t",i);n++;}
printf("一共 %d 個\n",n);
}

F. c語言 輸入20個數,找出其中的質數(素數)

void main(){
int a[20]。i。j。k;
for(i=0;i〈=19;i++)scanf(「%d」,&a[i]);
for(i=0;i<=19;i++){k=0;
for(j=2;j<a[i];j++) if(a[i]%j==0) k=1;
if(k==0) printf("%d",a[i]);
};

};