c语言编程题:求100到300之间的所有素数?
#include <stdio.h>#include <math.h>main(){int m,i,k,h=0,leap=1; //leap为标志位printf("\n");for(m=101;m<=300;m++) //实现100到300的素数输出{k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0) //如果数值能被2到根号m整除,将标志位赋值为0;跳出循环{leap=0;break;}if(leap) //如果标志位为1,表示从2到根号m不能整除m,即m是素数{printf("%-4d",m)
; //格式输出,相信你应该懂得,使输出结果好看h++;if(h%10==0) //每十个换行printf("\n");}leap=1;}printf("\nThe total is %d",h);}
一到一百的质数c语言代码?
可以通过C语言中的循环结构和选择判断结构来实现输出1到100之间的质数,代码如下:
#include <stdio.h>
main()
{
int m,n,t,flag;
for(m=2;m<100;m++)
{
flag=1;
for(n=2;n<m;n++)
{
if(m%n==0)
{
flag=0;
break;
}
}
if(flag=1)
{
printf("%d ",m);
t=t+1;
if (t%10==0)
{
printf("\n");
}
}
}
}
上述代码中,变量m作为被除数、n作为除数分别用于控制循环次数。
C语言,求出100到200以内最大的素数,最小的素数,以及所有素数的和,用while语句实现?
main(){ int i,j,n=0; for(i=101;ii/2) { printf("%d ",i); if(++n>12)printf("\n"); } }}
c语言100到200内素数最大10个数之和?
要求求100到200之间的素数,并求出其中最大的10个素数的和。首先需要明确素数的定义,即只能被1和本身整除的正整数。遍历100到200之间的所有数,判断每个数是否为素数。可以使用简单的方法,如从2到该数-1依次判断是否能整除,如果都不能整除,则该数为素数。
将找到的素数存储在一个数组中,并按从大到小的顺序排序,取出前10个素数求和即可。注意在判断素数时,可以优化算法,如只需要判断到该数的平方根即可,提高效率。
#include
<stdio.h>
#include
<math.h>
int
main(void)
{
int
staNum=100,endNum=200,sum=0;
int
i,j,end;
for(i=staNum;i<=endNum;i++)
{
end
=
sqrt(i);
for(j=2;j<=end;j++)
if(i%j==0)
break;
if(j==end+1)
sum+=i;
}
printf("the
sum
is
%d
.\n",sum);
return
0;
}
多思考,我刚学c语言的时候,貌似从来没要过别人代码。