C语言编写输出100到200之间的全部素数并统计个数?

如题所述

首先定义一个素数判断函数fun,int fun(int x),在里面如果x能被2整除,return 0,然后进入一个以3为初值,步长为2,条件测试表达式为<sqrt(x)的for循环,如果x能被i(循环变量)整除,则也是return 0,最后,添加返回语句return 1。
然后在main函数中建立一个以100为初始值,测试条件为<200,步长为1的for循环,循环体里执行的是以循环变量为参数调用fun函数,如果它的返回值是1,则输出循环变量的值,并对统计变量的值加1,最后,循环结束后,输出统计变量的值。
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-12-06
因为10000到2之间的所有素数全部是奇数,所以只要,枚举从101到199之间的全部奇数,如果它是素数,就把他输出,并且统计个数,奇,循环结束的时候再输出素数的个数就可以了。
#include<stdio.h>
int main()
{ int i,j,n=0;
for(i=101; i<200; i+=2)
{ for(j=3; j*j<=i; j+=2)
if(i%j==0)break;
if(j*j>i)
{ printf("%d ",i);
n++;
}
}
printf("\n共%d个\n",n);
return 0;
}

C语言编写输出100到200之间的全部素数并统计个数?
首先定义一个素数判断函数fun,int fun(int x),在里面如果x能被2整除,return 0,然后进入一个以3为初值,步长为2,条件测试表达式为<sqrt(x)的for循环,如果x能被i(循环变量)整除,则也是return 0,最后,添加返回语句return 1。然后在main函数中建立一个以100为初始值,测试条件为<200,步长为...

C语言求100到200之间的所有素数,按每行6个输出?
int count = 0; \/\/ 计数器,记录每行已经输出了多少个数 printf("100 到 200 之间的所有素数为:\\n");for (i = 100; i <= 200; ++i) { int is_prime = 1; \/\/ 标记当前数是否为素数 for (j = 2; j < i; ++j) { if (i % j == 0) { \/\/ 如果存在比 1 和本身小但...

C语言程序编程:输出100到200间的全部素数,每行输出5个素数。
5、#define max 100 宏定义max=100。6、最后运行结果如下。

C语言编程:求100到200之间素数的个数?
for(i=100;i<=200;i++){ for(k=2;k

用C语言求100-200之间的素数
对于100至200之间的每个整数,我们可以通过逐一检验其是否为素数来找出所有的素数。以下是一个简单的C语言程序,它实现了这一功能。请注意,程序中的`is_prime`函数用于判断一个数是否为素数。```c include \/\/ 函数声明 int is_prime(int n);int main() { int n;for (n = 100; n < 200; ...

C语言求100-200的全部素数怎么写
int i,j,k;for(i = 100;i<=200;i++){ k = 1;for(j=2;j<=i\/2;j++){ if(i%j==0){ k = 0; break; } } if(k == 1){ printf("%4d",i);} } 质数就是只能被1及其本身整除的数,这里用双层循环,上层循环控制被除数,下层循环控制除数,下层除2,主要为了减少循环次数 ...

C语言题:求出100-200之间所有素数( 要求每行输出5个),最后还有统计素数...
include <stdio.h>#include <math.h>i include <stdio.h>#include <math.h>int main(){int i,j,n=0;for(i=101;i<=200;i=i+2){for(j=2;j<=sqrt(i);j++){if (i%j==0)break;}if(j>sqrt(i)){n++;printf("%d,",i);if (n%5==0) printf("\\n");}}return 0;} ...

c语言 调用函数,输出100到200之间的所有素数
素数是只有1和自身才能整除的数。调用自定义的函数prime,对100~200间的奇数进行判断,是素数则输出。举例代码如下:include "stdio.h"int prime(int n){\/\/判断100~200间的数是否为素数int i;if(!(n&1))return 0;for(i=3;i*i<=n;i+=2)if(!(n%i))return 0;return 1;}int main(int...

输出100到200之间所有的素数,并求其总和。c语言
include <stdio.h>void main(){int i,j,n=0,s=0;for(i=100;i<=200;i++){for(j=2;j<=i\/2;j++)if(i%j==0) break;if(j>i\/2){printf("%d ",i);s+=i;n++;if(n%10==0) printf("\\n");}}printf("\\nS=%d",s);} ...

C语言输出100-200的素数个数,还有全部素数。
int main(){ int i,j,n=0;for(i=100;i<=200;i++){ int num=(int)sqrt(i); \/\/定义一个num减少sqrt的运行次数,提高效率 for(j=2;j<=num;j++)if(i%j==0)break;if(j>num){ printf("%d ",i);n=n+1; \/\/素数个数加1个 } } printf("\\n%d\\n",n); \/\/输出素数个...

相似回答