c语言输出3到100的素数并统计个数的怎么写

作者&投稿:镇研 (若有异议请与网页底部的电邮联系)
统计并输出3-100之间所有素数的个数 c语言~

输出3-100之间的所有素数并统计个数:
#include "stdio.h"
#include "math.h"
void main()
{
int x,y,num=0;
for(x=3;x<=100;x++)
{
for(y=2;y<=sqrt(x);y++)
if(x%y==0)
break;
if(y>sqrt(x))
{
printf("%d
",x);
num++;
}
}
printf("3-100之间的素数有%d个!
",num);
}

例:
#include
voidmain()
{
inti,j,a,b;
intc[100],count;
count=0;
do/*让输入的数a小于数b*/
scanf("%d%d",&a,&b);
while(a>b);
for(i=a;i<=b;i++)/*判断a.b之间的素数*/
{for(j=2;j<i;j++)
if(i%j==0)break;
if(i==j)c[count++]=i;/*如果是素数,最后i==j,把素数存入数组c,且count计数*/
}
for(i=0;i<count;i++)/*输出结果*/
{printf("%d",c[i]);
if((i+1)%5==0)printf("
");
}
printf("素数的个数%d:",count);
}

扩展资料
C语言输出任意两个数之间的质数
#include
staticintisPrime(intn);
voidmain()
{
intlow,high;
intflag=1;
while(flag==1)
{
printf("输出两个数(一空格分割):");
scanf("%d%d",&low,&high);
/*
//3.利用异或运算来交换数据
//利用的思想原理是:一个数异或同一个数两次,结果还是那个数,而且不会超出int范围
unsignedinta=60;//00111100
unsignedintb=13;//00001101
printf("交换之前:a=%d,b=%d
",a,b);//输出a,b的值
a=a^b;//a=a^b=00110001
b=a^b;//b=a^b=00111100
a=a^b;//a=a^b=00001101
printf("交换之后:a=%d,b=%d
",a,b);//输出a,b的值
*/
//如果low输入的值大了,交换,保证low的值小于high
if(low>high)
{
low=low^high;
high=low^high;
low=low^high;
}
inti;
staticintfirst=0;
intcount=0;
for(i=low;i<high;i++)
{

if(isPrime(i)==1)//如果i是质数
{
//输出逗号,第一个逗号屏蔽
if(first==1)
{
printf(",");
//每十个束素数一行
if(++count%10==0)
printf("
");
}
elsefirst=1;

printf("%5d",i);//输出素数
}
}printf("。");
printf("
继续[1/0]?:");
scanf("%d",&flag);
}

}
staticintisPrime(intn)//判断n是不是质数
{
if(n<=1)
return-1;
intISPrime=1;//默认是质数,用1表示
inti;

#include <stdio.h>

int isprime(int n)

{ int i;

  for(i=2; i*i<=n; i++)

    if(n%i==0)return 0;

  return 1;

}

int main()

{ int i,n=0;

  printf("3到100的素数:
");

  for(i=3; i<100; i++)

    if(isprime(i))

    { printf("%d ",i);

      n++;

    }

  printf("
个数=%d
",n);

  return 0;

}



程序如下:
main()
{
int a[100]={0},i,j ,c=0;

for(i=2;i<=100;i++)
if(a[i]==0)
{
c++;
for(j=2;j*a[i]<=100;j++)
a[j*a[i]]=1;
}
printf("3~100之间的素数共有%d\n个。",c)
}
有什么问题请留言。


C语言编程,求3到100之间所有素数的平方根之和
void main(){ int k = 0;double sum = 0; \/\/sum应该是double型的。。。for(k=3;k<=100;k++){ if(fun(k)==1){ sum=sqrt(k)+sum;} } printf("%f\\n",sum);}

c语言编程输出1到100之间所有的数
你确定是c语言吗?c语言代码是这样的:include <stdio.h> int main(){ int i=0;for(i=0; i< 100; i++)printf("%d ", i+1);} 是不是你需要的???

编写程序,输出100以内所有能被3整除的所有整数,要求每行输出5个,用ra...
以下是使用rang语言编写的程序,实现输出100以内所有能被3整除的所有整数,并且每行输出5个:```program print_nums var i: int := 1 while (i <= 100) do if (i mod 3 = 0) then write(i, " ")if (i mod 15 = 0) then writeln("")end end i := i + 1 end end ```程序...

用c语言编程实现输出100以内的所有是3的倍数,或者含有3的正整数。要...
include <iostream> using namespace std;int main(){ int i;cout<<"输出100以内能被3或者数字里面带有3的数字:"<<'\\n';for(i=3;i<=99;i++){ if(i%3==0||i%10==3||i\/10==3){ cout<<i;if(i<99) cout<<',';} } cout<<'\\n';return 0;} 抱歉,c语言的输出输入我不...

...在数组中分别输入3,6,9,12,15,……,100个数,输出1:从大到小输出这...
include<stdio.h> void main(){ int x[100],i,n;x[0]=3;for ( i=1;i<100;i++ ) x[i]=x[i-1]+3; \/\/每个数是前一个数加3 for ( i=0;i<100;i++ ) printf("%d ",x[99-i]);printf("\\n");for ( i=0;i<100;i++ ) if ( x[i]%5==0 ) printf("%d ",x...

c语言如何输出一到一百之间所有能整除三的数
可以参考下面的代码:include<stdio.h> void main(){ int i,n=0;for(i=0;i<=100;i++){ if((i%3)==0)n++;printf("%d ",i);} printf("一到一百之间能被三整除的数的总数为:%d\\n",n);return 0;}

用C语言初始化一个数组,赋值为100个随机数(1-100),倒叙存储,输出此数 ...
\/\/#include "stdafx.h"\/\/vc++6.0加上这一行.include "stdio.h"include "time.h"include "stdlib.h"void main(void){ int a[100],i;srand((unsigned)time(NULL));for(i=99;i>=0;a[i--]=rand()%100+1);for(i=0;i<100;printf("%d, ",a[i++]));printf("\\n");} ...

用c语言分别输出个位十位和百位的数字?
用c语言分别输出个位十位和百位的数字,可以根据下面步骤进行,c语言作为一种程序代码,因此在输入时绝对不能弄错任何符号。include<stdio.h> int main(){int x;scanf("%d",&x);printf("%d的百位=%d,十位=%d,个位=%d\\n",x,x\/100,x\/10%10,x%10);return 0;} ...

c语言,如何产生随机数
本文由青松原创并依GPL-V2及其后续版本发放,转载请注明出处且应包含本行声明。\\x0d\\x0a\\x0d\\x0aC++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integral number)。生成随机数时需要我们指定一个种子,如果在程序内循环,那么下一次生成随机数时调用上一次的...

用C语言运行:在一个主函数中,分别计算1到100,1到200,1到300…的累加和...
include <stdio.h>int main(){ int i, s; for(i = 1, s=0; i<=100; i ++) s+=i; printf("%d\\n", s); for(i = 1, s=0; i<=200; i ++) s+=i; printf("%d\\n", s); for(i = 1, s=0; i<=300; i ++) s+=i; printf("%d...

鹤山区18635187780: 统计并输出3 - 100之间所有素数的个数 c语言 -
爱新觉罗志诃子: 输出3-100之间的所有素数并统计个数: #include "stdio.h" #include "math.h" void main() {int x,y,num=0;for(x=3;x<=100;x++){for(y=2;y<=sqrt(x);y++)if(x%y==0)break;if(y>sqrt(x)){printf("%d\n",x);num++;}}printf("3-100之间的素数有%d个!\n",num); }

鹤山区18635187780: 求C语言里3到100间的素数个数并制表 -
爱新觉罗志诃子: #include int primer(int min, int max) {int i = 0,j = 0,flag = 0,count = 0;for (i=min; i<=max; i++){flag = 0;for (j=2; j<=sqrt(i); j++)if (i%j == 0){flag = 1;break;}if (flag == 0){count++;if(count%5==0)printf("%3d\n",i);elseprintf("%3d",i);} ...

鹤山区18635187780: C语言编程求3 - 100之间所有的素数及其个数 -
爱新觉罗志诃子: #include <stdio.h> #include <math.h> int Is_Prime(int x)/*素数函数*/ {int k=sqrt(x)+1;int i; for (i=2;i<=k;i++){if (x%i==0){return 0;}}return 1; } int main() {int n,count=0;for(n=3;n<=100;n++){if(Is_Prime(n)){printf("%d\n",n);count++;} }printf("个数为%d",count);return 0; }

鹤山区18635187780: C语言:求3到100间全部素数 -
爱新觉罗志诃子: #include "stdio.h" void main() {int i, j;for(i=3;i<=100;i++){for(j=2;j<i;j++)if(i%j==0) break;if(j>=i)printf("%d\t",i);} }

鹤山区18635187780: C语言 输出并统计100~500之间所有的素数 -
爱新觉罗志诃子: 在前面加一个变量并初始化为 0 如 k, int i, j , k = 0; 当判断一个数为素数后就把 k 加 1. 代码如下:1 2 3 4 5if(i > sqrt(j)) {k++;printf("%d ", j); } 最后在输出 k 就 ok 了.在最后一个 } 前加上printf("\n一共有%d个素数!\n", k);

鹤山区18635187780: c语言 统计输入两个数字之间素数个数并输出素数 -
爱新觉罗志诃子: 例: #include<stdio.h> voidmain() { inti,j,a,b; intc[100],count; count=0; do/*让输入的数a小于数b*/ scanf("%d%d",&a,&b); while(a>b); for(i=a;i<=b;i++)/*判断a.b之间的素数*/ {for(j=2;j<i;j++) if(i%j==0)break; if(i==j)c[count++]=i;/*如果是素数,最...

鹤山区18635187780: c语言下面的程序输出3到100间的所有素数. -
爱新觉罗志诃子: int main() { int i, j; for(i=3; i<=100 ; i++) { for(j=2; j<i-1; j++) if ( !(i%j) )break; if( i%j ) printf("%4d",i); } return 0; }

鹤山区18635187780: 用C语言编写一个程序输出3到100间的素数
爱新觉罗志诃子: 兄台,可以看看: #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main() { int i,j,k=1; for(i=3;i&lt;100;i++) { for(j=2;j&lt;=sqrt(i);j++) { if(0==i%j) { k=0; break; } } if(1==k) printf("%d\t",i); k=1; } return 0; } 在 Tubro 和 VC6.0上都可以运行. 主要是楼上回答的在第二个for中,可以将i&lt;j改为i&lt;sqrt(j),可以节省运算时间

鹤山区18635187780: 求C语言程序设计 编写程序求3到100之间的所有素数之和. -
爱新觉罗志诃子: 主函数中定义一个初值为0的变量s承载素数的累加和,用一for循环遍历3~100间的奇数,判断这些奇数是否有1和自身以外的因子,没有的确定为素数并其值累加到s,s便是题解.代码如下: #include "stdio.h" int main(int argc,char *argv[]){int i...

鹤山区18635187780: c语言求3到100之间素数的和,自己写的麻烦懂的人指正下对错. -
爱新觉罗志诃子: 你这个不对吧,你想想这里 for(m=3;m<=100;m++){ for(n=2;n<m;n++) if(m%n!=0) 如果m=4 ,n=3 这样的话,4就会被输出 main() { int m,i,k,s; s=0; for(m=3;m<=100;m++) { k=sqrt(m+1); // 直接判断他的根号就可以了,节省时间,原因你自己举例试试 for(i=2;i<=k;i++)if(m%i==0)break; // 如果m和i相除余数为0的话,跳出 if(i>=k+1) s=s+m;// 如果i>k+1,证明是素数 } }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网