编写C语言程序,求100~200之间所有素数。

作者&投稿:臧雨 (若有异议请与网页底部的电邮联系)
编辑一个C语言程序求100--200间的全部素数~

思路:先定义一个函数isp用来判断一个数是否是素数,所谓素数是除了1和自身没有其他的因数,所以从2到该数减一,判断其是否可以整除该数,如果可以该数就不是素数,否则该数就是素数。最后从100到200依次判断并输出素数。
参考代码:
#include int fun(int n){int i;for(i=2;i<n;i++)if(n%i==0) return 0;return 1;} int main(){ int i;for(i=100;i<=200;i++)if(fun(i))printf("%d ",i);return 0; }/*101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199*/

素数就是只能被1和本身整除的数,先定义一个函数用于判断一个数是否是素数,在从100到200依次循环判断,如果是素数则输出。

参考代码:

#include<stdio.h>
int fun(int n){//判断n是否是素数
int i;
for(i=2;i<n;i++)
if(n%i==0) return 0;
return 1; 

int main()
{
 int i;
 for(i=100;i<=200;i++)//循环判断
  if(fun(i))
printf("%d ",i);
 return 0;
}
/*
运行结果:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
*/


#include<stdio.h>
void main()
{
void outputsushu(int k);
int i;
for(i=100;i<=200;i++)
outputsushu(i);
}
void outputsushu(int k)
{
int w=0,t;
for(t=2;t<=k/2;t++) /*从2判断到k/2个数,你也可以判断到根号k个数,但要用到math.h函数*/
{
if(k%t==0)
w=w++; /*通过定义一个标记,都不能整除,标记不变保持0值,整除了加1,判断最后有没有整除就可以*/
}
if(w==0)
printf("%d\t是素数\n",k);
else
printf("%d\t不是素数\n",k);
}

#include<stdio.h>
void
main()
{
void
outputsushu(int
k);
int
i;
for(i=100;i<=200;i++)
outputsushu(i);
}
void
outputsushu(int
k)
{
int
w=0,t;
for(t=2;t<=k/2;t++)
/*从2判断到k/2个数,你也可以判断到
根号
k个数,但要用到math.h
函数
*/
{
if(k%t==0)
w=w++;
/*通过
定义
一个
标记
,都不能整除,标记不变保持0值,整除了加1,判断最后有没有整除就可以*/
}
if(w==0)
printf("%d\t是素数\n",k);
else
printf("%d\t不是素数\n",k);
}

# include<stdio.h>
# include<math.h>
int main()
{
int i,k,n=0;
for(i=101;i<=200;i+=2)
{
for(k=2;k<=sqrt(i*1.0);k++)
{
if(i%k==0)break;
}
if(k>sqrt(i*1.0))
{
printf("%d ",i);
n++;
}
if(n%10==0)
printf("\n");
}

return 0;
}

#include<stdio.h>
#include<math.h>
int isprime(int n)
{
int i,k=0,m;
m=sqrt(n);
for(i=2;i<=m;i++)
if(n%i==0)
k++;
if(!k)
return 1;
else
return 0;
}
void main()
{
int i,j=0;
for(i=100;i<200;i++)
if(isprime(i))
{printf("%5d",i);j++;
if(j%5==0)
printf("\n");}
printf("\n");
for(i=2;i<1000;i++)
if(isprime(i)&&isprime(i+2))
{printf("%5d",i);j++;
if(j%5==0)
printf("\n");}
printf("\n");
}


C语言 定义一个函数,可以求得一个int型数据32位中1的个数
include <stdio.h>int func(unsigned long x){ int countx = 0; while(x) { countx++; x = x&(x-1); } return countx;} int main(void) {unsigned long x;scanf("%lu",&x);printf("%d\\n",func(x));return 0;} ...

c语言中求1! ... n!的程序
include<stdio.h>int fun(int n){ int i, result = 1; for(i = 1;i <= n;++ i) result *= i; return result;} int main(){ int n; while(~scanf("%d",&n)){ printf("%d\\n",fun(n)); } return 0;} ...

我是一名C语言初学者,请各位大虾帮帮忙,用C语言编写一个程序,求1+2+...
void main(){ int i,sum=0;for(i=1;i<=100;i++){ sum+=i;} printf("%d\\n",sum);}

用c语言编写程序 输入一个正整数n,求1到n的数中1出现的个数
int c,n;printf("input n:\\n");scanf("%d",&n);c=count(n);printf("%d\\n",c);}

c语言1+3+5+…+99的程序怎么写啊?
C语言程序:求1+3+5+…+99的方法:int main(){ int i,sum=0;for(i=1;i<100;i+=2)sum+=i;printf("1+3+5+……+99=%d\\n",sum);return 0;}

简单C语言编程:写程序求1-3+5_7+..._99+101的值
include <stdio.h> void main(){ int i,j=-1,sum=0;for(i=1;i<=101;i=i+2){ j=-j;sum+=i*j;} printf("%d",sum);printf("\\n");}

跪求:编写c语言程序,求1到20的阶乘之和
亲测可用 long jiecheng(int x){ long int i,k=1;for(i=1;i<=x;i++)k=k*i;return k;} int main(){ long int j,k=0;int i;for(i=1;i<=20;i++){ j=jiecheng(i);k+=j;} printf("%ld\\n",k);} 输出的结果是2561327494111820313 ...

c语言编写程序求数列1,3,3,3,5,5,5,5,5,7,7,7,7,7,7,7的第四十项?_百...
c语言编写程序求数列1,3,3,3,5,5,5,5,5,7,7,7,7,7,7,7的第四十项:解答如下:main(){ int i,n; i=1; n=40; while (n>=0){ n=n-i; i=i+2; } printf("%d",i);} 上面程序输出的i值就是第n项的z值。

C语言编写一个程序求出1+2+3……1000
include<stdio.h>int main(){ int i, sum = 0; for(i = 1; i <= 1000; i++) { sum += i; } printf("结果为:%d", sum); return 0;}书写的时候注意一些规范,包括语句的对齐,一些特定位置的空格使用,初学编程,养成良好的编码习惯很重要 ...

用c语言编写程序:输入n,求 1-1\/2+1\/3-1\/4+..+1\/(2*n-1)-1\/(2*n)
include <stdio.h> int main(void){ int n;int i;int sign=1;double sum=0.0;printf("请输入n的值:\\n");scanf("%d",&n);for(i=1;i<=2*n;i++){ sum=sum+sign*(1.0\/i);sign=-sign;} printf("计算结果为:");printf("%f\\n",sum);return 0;} ...

铜川市18793568403: C语言中:求100到200之间全部素数之和? -
韶毕迅通: #include<stdio.h> #include<math.h> void main() {int i,j,isPrime,PrimeSum = 0;float p;/*从101开始循环,只需要检测奇数,所以每次加2*/for (i=101;i<200;i+=2){p = sqrt(i);/*标识变量,1表示是素数*/isPrime = 1;/*只需要循环到n的平方...

铜川市18793568403: c语言作业求100~200所有数之和 -
韶毕迅通: 1 2 3 4 5 6 7 8 9#include <stdio.h> intmain(void) {inti,sum=0;for(i=100;i<=200;i++)sum=sum+i;printf("100~200所有数之和为%d\n",sum);return0; }

铜川市18793568403: 求100~200间的素数,C语言 -
韶毕迅通: #include<stdio.h> int main(){int i,n;for(i=100;i<=200;i++) {for(n=2;n<=i-1;n++) {if(i%n==0)break;}if(n==i) printf("%d\t",i); //n==i,不是n=i }return 0;//如果是void main,则去掉这句,否则将void main,改为int main }

铜川市18793568403: C语言 求100到200之间的素数输出 -
韶毕迅通: bool shs(const int A) {//判断A是否为质数,是的话返回true. if((A==2)||(A==3))return true; if(A<=1) return false; int a; for(a=2;a<=sqrt(A)+1;a++) { if(A%a == 0) return false; if(a == sqrt(A)+1) return true; } }1不是素数,2和3是素数,如果一个整数A,能被2到根号下A之间的整数整除,那么A不是素数,反之A是素数.

铜川市18793568403: 求c语言编写输出100到200之间的全部素数的最简单程序 -
韶毕迅通: #include<stdio.h> void main() { void outputsushu(int k); int i; for(i=100;i<=200;i++) outputsushu(i); } void outputsushu(int k) { int w=0,t; for(t=2;t<=k/2;t++) /*从2判断到k/2个数,你也可以判断到根号k个数,但要用到math.h函数*/ { if(k%t==0) w=w++; ...

铜川市18793568403: 求100~200之间的全部素数(C语言) -
韶毕迅通: #include <stdio.h> int main(void) { int i,n; for(n=100;n<=200;n++) { for(i=2;i<n;i++) if(n%i==0)break; if(i>=n) printf("%d\n",n); } return 0; }

铜川市18793568403: 计算出100~200之间的全部素数个数,和及平均值.(用C语言编) -
韶毕迅通: int i,j,c=0,s;for(i=101;i=i/2){ c++; s+=i; } } printf("个数:%d\n平均值:%d",c,s);

铜川市18793568403: 如何使用c 设计程序求100到200之间所有素数之和的程序 -
韶毕迅通: //C++#include<iostream.h> void main() { int i,j,s=0; for(i=101;i<200;i++) { for(j=2;j<i;j++) { if(i%j==0) break; } if(i==j) {s+=i;} } cout<<s; } --------------------------------------------//C语言#include"stdio.h" void main() { int i,j,k,cnt=0; int a[50]; for(i=100;i<200;i++)...

铜川市18793568403: 用c语言编程将100~200之间的素数输出? -
韶毕迅通: int isPrime(int i) //用这个函数来判断一个数是不是素数 {int j;if( i < 2 )return 0;//小于2的数也都不是素数for ( j = 2; j<i/2;j++){if( i % j == 0 ) //如果i能被j整数,就说明不是质数,返回0 假return 0;}return 1; //i不被j整除,说明是质数,返回1 真 }...

铜川市18793568403: C语言编程:求100~200间的全部素数
韶毕迅通: #include <stdio.h> bool prime(int n) { int a=2; while (a<n) if(!(n%a++)) break; if(a==n) return true; return false; }int main() { int i = 100; for (; i!=200; ++i) { if(prime(i)) printf("%d ", i); } return 0; }

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