当前位置:首页 » 编程语言 » c语言判断100以内素数数组
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言判断100以内素数数组

发布时间: 2023-08-28 13:30:52

A. c语言用数组解决求100以内素数

  1. 把for(q=0;q<=100;q++)改成for(q=1;q<100;q++)——因为a[0]==1,肯定不是素数,且=100就越界了。

  2. for(o=2;o<=a[q];o++)改成for(o=2;o<a[q];o++)——因为任何数都会被自身整除。

  3. 把if(p=1)改成(p==1)——if(p=1)这样写这个if如同白设,因为p=1总是为“真”。

B. C语言:求100以内的素数,用数组完成此题。

#include<stdio.h>

intmain()

{

inti;

inta[100],b[100];

intcount=0;

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

{

intCnt=0;

a[i-1]=i;

for(intj=1;j<=i;j++)

{

if(a[i-1]%j==0)

Cnt++;

}

if(Cnt==2)

{

b[count]=a[i-1];

count++;

}

}

printf("100以内总共有%d个素数,分别如下: ",count);

for(i=0;i<count;i++)

{

printf("%d ",b[i]);

}

printf(" ");

return0;

}

说明:刚刚在VC6.0下现写的,附图片

C. 怎么判断1到100之间的素数用C语言程序

这好像是C语言书上一个例子,lz问之前可以搜一下,这题被网上问过好多了。。。下面为

判断素数的方法:用一个数分别去除以2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
#include〈math.h〉
main()
{ int m,k,i;
for(m=1;m<=100;m=m+2) //m=m+2,因为偶数都不是素数,不用考虑,所以每次m+2.
{ k=sqrt(m) //先求这个数的平方跟
for(i=2;i<=k;i++) //然后用i(从2到k,即m的平方跟)去除m,
if(m%i==0) break; //如果能被整除, 则不是素数,break
if(i>=k+1) pritnf("%d",m); //如果i>k+1,则说明没有数能整除m.则m是素数
}
}

D. 用C语言求解1-100之间的所有素数。

Action()

{

int i,j;

int sum=0;

int flag;//是否为素数

for(i=2;i&lt;=100;i++){

flag=1;

for(j=2;j&lt;=i-1;j++){

if(i%j==0){

flag=0;

break;

}

}

if(flag==1){

sum+=i;

}

}

lr_output_message("sum=%d",sum);

return 0;

}

输出的结果:sum=1060

(4)c语言判断100以内素数数组扩展阅读:

方法二、使用函数:

Action()

{

int i;

int sum=0;

for(i=2;i&lt;=100;i++){

if(isPrime(i)){

sum+=i;

}

}

lr_output_message("素数之和sum=%d",sum);//loadrunner的输出,其他编译器可能是printf

return 0;

}

int isPrime(a){

int j;

int flag=1;

for(j=2;j&lt;=a-1;j++){

if(a%j==0){

flag=0;

break;

}

}

return flag;

}

E. C语言 输出1到100之间的全部素数

有三种方法:

1、输出1-100以内的素数:

(5)c语言判断100以内素数数组扩展阅读:

在这个小程序中主要用到的是for循环

for 循环语句的一般形式为:

for (表达式1; 表达式2; 表达式3)

{

语句;

}

需要注意的两点:

1) 表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。

2)for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。

因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于 for 循环了。

F. 用C语言,判断1-100之间有多少个素数,并输出所有素数。

可以使用筛法来判断 1-100 之间有多少个素数,并输出所有素数。筛法是一种通过枚举合数的因子来筛选出素数的方法。

下面是用 C 语言实现的代码示例:

#include <stdio.h>
#include <stdbool.h>

#define N 100

int main(void)
{

// 创建一个 bool 类型的数组,用来存储每个数是否为素数
bool prime[N + 1];


// 初始化数组,假设所有数都是素数
for (int i = 0; i <= N; i++)
prime[i] = true;

// 使用筛法筛选出素数
for (int i = 2; i <= N; i++)
{
// 如果 i 不是素数,则跳过
if (!prime[i])
continue;

// 输出 i
printf("%d ", i);

// 将 i 的倍数标记为合数
for (int j = i * i; j <= N; j += i)
prime[j] = false;
}

return 0;

}


运行结果如下:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

在这个程序中,使用了一个 bool 类型的数组来存储每个数是否为素数。使用筛法筛选出 1-100 之间的素数,并输出每个素数。

需要注意的是,C 语言没有内置的 bool 类型,需要使用头文件 stdbool.h 来支持 bool 类型。在上面的代码中,需要包含头文件 stdio.h 和 stdbool.h。