❶ c语言素数怎么表示
#include<stdio.h>
#include<math.h>
intmain()
{
intx,i,j=0,k;
for(x=101;x<=200;x++)
{
for(i=2,k=0;i<=sqrt(x);i++)
if(x%i==0)
{
k++;
break;
}
if(k==0)
{
printf("%d",x);
j++;
}
}
printf(" 100到200之间有%d个素数 ",j);
}
(1)c语言中质数如何表示扩展阅读
100->200之间的素数的个数,以及所有的素数
#include<stdio.h>
#include<math.h>
intmain()
{
inta,m,k,i;
a=0;
for(i=101;i<=200;i++)
{
for(k=2;k<i;k++)
if(i%k==0)break;
if(k>=i)
a++;
}
printf("%d ",a);
for(i=101;i<=200;i++)
{
for(k=2;k<i;k++)
if(i%k==0)break;
if(k>=i)
a++;
if(k>=i)
printf("%d",i);
}
printf(" ");
return0;
}
❷ c语言 质数
你可以在数组的最后加一项 0 ,但中间就不能有 0 了。然后改成这样:
#include<math.h>
int main()
{
int n, i,k, a[]={5,20,34,13,25,9,12,23,36,19,0}; //多了个0
n=0; //给 n 赋初值 0
while(a[n]) //当a[n]为true,即 a[n] 不为 0
{
k=sqrt(a[n]); //这里直接用 a[n]
for(i=2;i<=k;i++)
if(n%i==0)break;
if(i>k)
printf("%d ",n);
n++; //n增加1 ,使 a[n] 为下一个数
}
}
❸ C语言求质数
红框里的代码,加上那个i++的for循环,其逻辑是:
从2开始,遍历所有小于n的整数,
只要存在一个整数可以被n整除(即余数为0),则可判断n为合数.
若从2到n-1范围内,不存在可整除n的数,则判断n为质数.
还有 for(int .......)这种定义变量的写法,要C99才支持,现在很多编译器默认C89标准,或者不支持C99标准,这样写容易出错.
第一个for循环里面,直接把n=0,1,2的情况跳过了.既然这样,变量n直接把初值赋为3不就好了,赋值0干嘛.
第二个for循环里面,判断到i<sqrt(n)就可以了,还有更简单的求质数算法,感兴趣可以网络.
❹ C语言中,何为素数何为非素数用C语言如何表示
C语言中的素数和数学中的素数是一样的,即:除了1和它本身之外,不能被任何数整除的数(1不是素数)。也就是说素数是这样的整数,它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。
非素数的定义就很明了了,素数以外的数都是非素数,在C语言中,求素数的方法,就是从2开始,依次判断该数是否可以被2以上到该数以下的数整除,如果可以,就不是素数,如果不可以被所有大于或等于2小于该数的整数整除,那么就是素数了
❺ 用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
❻ 输出100以内的质数,用c语言编写
#include <stdio.h>
int main(int argc, char **argv)
{
int x;
for (x=1;x<100;x++){
int i;
int isprime=1;//表示x是素数。
for(i=2;i<x;i++){
if (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位小数)
❼ 在c语言中如何表示素数
1、先打开visualc++6.0,然后单击左上角的文件,然后单击新建。
❽ C语言中求质数过程是怎样的
判断一个数是不是素数(就是你说的质数),用下面的方法(筛选法):
从2开始,那么2的倍数就不是素数;
然后是3,那么3的倍数就不是素数;
然后是5(4已经被排除了),那么5的倍数就不是素数。
以此类推。下面给出筛选法的代码(判断10以内的素数有几个,4个)
#include<stdio.h>
intmain(void)
{
inti,s,k,count=0;
for(i=100;i<=200;i++)
{
k=sqrt(i);
for(s=2;s<=k;s++)
{
if(i%s==0)break;
}
if(s==k+1)
count++;
}
printf("%d
",count);
for(i=100;i<=200;i++)
{
k=sqrt(i);
for(s=2;s<=k;s++)
{
if(i%s==0)break;
}
if(s==k+1)
printf("%d",i);
}
return0;
}
写的这么详细,不采纳我,好伤心。
❾ c语言 质数
把1<N<1000;去掉,scanf("%d",&N);少了&;你的质数判断方法也有问题