用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*/

对100到200之间的数,逐一判断是否为素数,如果是则输出即可。

判断素数方法很多,以数学方法判断为例,代码如下:

#include <stdio.h>
int is_prime(int n)//判断n是否为素数。
{
    int i;
    for(i = 2; i < n; i ++)//按照数学规则,如果在2~n-1中存在因子,则不是素数。
        if(n%i==0)return 0;
        
    return 1;
}

int main()
{
    int n;
    for(n = 100; n < 200; n ++)
        if(is_prime(n)) printf("%d,",n);//是素数则输出。
        
    return 0;
}


对100到200之间的数,逐一判断是否为素数,如果是则输出即可。
判断素数方法很多,以数学方法判断为例,代码如下:
#include <stdio.h>
int is_prime(int n)//判断n是否为素数。
{
int i;
for(i = 2; i < n; i ++)//按照数学规则,如果在2~n-1中存在因子,则不是素数。
if(n%i==0)return 0;

return 1;
}
int main()
{
int n;
for(n = 100; n < 200; n ++)
if(is_prime(n)) printf("%d,",n);//是素数则输出。

return 0;
}

错误原因:循环结束之后,没有把s重新置为1,所以在判断完第2个素数之后第一个非素数后就不再输出了。

例子如下:

直接编译,程序输出结果如下图所示:



# include <stdio.h>
main()
{
int i,z,s=1;
for(i=101;i<=200;i=i+1)
{
s=1;//这里的S需要初始化,因为你一次循环后S都为0了
for(z=2;z<i;z++)
{if(i%z==0)
{s=0;
break;}
}
if(s!=0)
printf("%d ",i);
}
}

错误原因:循环结束之后,没有把s重新置为1,所以在判断完第2个素数之后第一个非素数后就不再输出了


编写C语言程序,给小学生出1道100以内2个数的加法题,等学生说出自己的答...
include<stdio.h> void main(){ int a ,b,sum,num;printf("输入100以内的两个数:");scanf("%d %d",&a,&b);if(a>100||a<0||b>100||b<0){ printf("输入100以内的两个数:");scanf("%d %d",&a,&b);} sum=a+b;printf("请输入你的答案:");scanf("%d",&num);if(num)p...

C语言编程1-2+3-4+5-6+~~+99-100
0;}运行结果如下:(2)include "stdio.h"int main(int argc,char *argv[]){int s,i;for(s=0,i=1;i<101;i++)\/\/遍历1~100s += i&1 ? i : -i;\/\/i为奇数时取正向s累加,i为偶数时取负向s累加printf("1-2+3-4+...+99-100 = %d\\n",s);return 0;}运行结果如下:...

c语言中1-2+3-4+5………+100的值
楼上的其实都是一个错误,将int sum;改为int sum=0;就可以运行了

C语言编程题sum=1-2+3-4+5-6+……+99-100
float sum = 0.0;for(int i=1;i<=100;i++){ sum+=i*pow(-1, i-1);} printf ("result = %f\\n", sum );1、把此数列连续的奇数项和偶数项结合起来构成一个新数列,它就变成-1,-1,-1,...,-1共50项这样一个数列,C编程当然就很简单了。2、用一个for循环遍历1~100,计数...

c语言求1到100间奇数和以及1-2+3-4+5...-100的和
第一题:include<stdio.h> void main(){ int sum=0;for(int i=1;i<=100;i=i+2){ sum=sum+i;} printf("%d\\n",sum);} 第二题 include<stdio.h> void main(){ int sum=0;for(int i=1;i<=100;i++){ if(i%2!=0)sum=sum+i;else sum=sum-i;} printf("%d\\n",sum);...

用c语言编程---求100以内的奇数和?
1、解析题目首先,我们知道100以内的奇数为1、3、7……97、99,即从1开始依次增加2。本题要求的是奇数和,即为sum=1+3+7+……+97+99 将变量i从1开始,依次赋值每一个奇数,直到不符合条件(i<=100),即到i=99停止循环。将每一个i值依次累加,求得的和即为题目所求奇数和。2、设计程序...

用递归求表达式1-2+3-4……-100的和(注:C语言)
- 1-2+3-4……-98-99+100 - -99+100 然后对每个子问题递归求解即可。具体的递归算法可以这样实现:```c int sum = 0; \/\/ 定义变量 sum 存储表达式的和 int calc(int n) { \/\/ 定义递归函数 calc,n 表示当前计算的数值 if (n == 1) { return 1; \/\/ 表达式中只有一个数值 1,...

求1-2+3-4+5-6+...+99-100用c语言编出来
include <stdio.h>int main(){int i,j,s=0;for(i=1;i<=100;i++)s+=i%2==0?(-1)*i:i;printf("%d\\n",s); return 0;}

用c语言编写程序1-1\\2+2\\3-3\\4...-99\\100
include<stdio.h> void main(){ int i;double sum=1,a=1,b;for(i=1;i<100;i++){ a=(-1)*a;b=a*i\/(i+1);sum=sum+b;} printf("sum=%f\\n",sum);}

C语言判断质数,for语句里一个条件看不懂?
我写程序也是暴力群举的,简单小程序,确实够用了,大程序,是行不通的,一定是需要算法辅助的。。。我说了这么多,应该已经比他们详细明了了吧,自己去算算,就知道了,要尽可能的把上限缩小,如果只是初学者,不用关心这个,先把C语言的程序语法,标准语句搞清楚,会用,没有BUG就行了。。。

天山区18428679504: 求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++; ...

天山区18428679504: c语言编程求100到200之间的素数,每行输出6个数 -
叱干纯肌苷: #include <stdio.h> #include <math.h> int ss(int n) /*检查n是否为素数,如果是则返回1,否则返回0*/ {int i;for (i=2; i<=(int)sqrt((double)n); i++)if (n%i==0) return 0;return 1; } int main(void) {int i,j=0;for (i=100; i<=200; i++)if(ss(i)){j++;printf("...

天山区18428679504: 用c语言求出100到200之间的素数 -
叱干纯肌苷: #include "math.h" main() {int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){ k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap) {printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h); }

天山区18428679504: 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是素数.

天山区18428679504: C语言:将100~200之间的素数输出 -
叱干纯肌苷: 逻辑错误,准确位置为14行,正确代码如下:#include<stdio.h> int main() { int i = 0; for (i=100; i<=200; i++) { int j = 0; for (j=2; j<=i-1; j++) { if (i%j == 0) { break; } } if (j>=i) { printf("%d",i); } } return 0; } 扩展资料: 质数又称素数.一个大于1的自...

天山区18428679504: C语言 列出100到200之间的素数 -
叱干纯肌苷: if (i == j)这句是判断i是否为素数啦,如果相等,i就是素数. 下面解释: 素数只能被1和本身整除. 所以,如果一个i是素数,那么i%j==0,将一直不成立,当循环至j=i-1,i%j==0,依然不成立,然后就执行j++,这样j就等于i了,也就不满足j<i而退出循环了. 如果i不是素数,那么就能被小于i的某个整数整除,于是j就小于i了 这样就可以根据i==j来判断素数了

天山区18428679504: c语言:输出100~200之间的素数 -
叱干纯肌苷: 思路:从100到200依次循环判断是否是素数,如果是素数则输出.素数就是只能被1和本身整除的数.参考代码:#include<stdio.h> int fun(int n){//判断n是否是素数 int i; if(n<2) return 0; for(i=2;i<n;i++) if(n%i==0) return 0; return 1; } int main() { int i;...

天山区18428679504: 怎么用C语言编写求100到200之间的素数呢? -
叱干纯肌苷: 这个题目我们刚好考过.把答案发给你吧~ 只能被自己和1整除的数是素数.故用一个for循环逐个检验~另一个for循环控制要判断的数~ #include "stdio.h" main() { int m,k=0; for(m=100;m

天山区18428679504: 求C语言找出100至200之间所有素数并判别 -
叱干纯肌苷: #include void main() { int i,j,flag; for(i=100;i

天山区18428679504: 用C语言输出100到200之间的素数 -
叱干纯肌苷: 应该是对素数的定义没有理解吧. 素数,是定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. 简而言之,素数就是只能被1和它自己相乘得到的数.所以,除了1和它自己之外,它对其它数取余数,结果都不是0. 同时,无论什...

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