当前位置:首页 » 编程语言 » 怎么用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]);
};

};