C语言:求100以内的素数,用数组完成此题。
发布网友
发布时间:2022-05-02 06:45
我来回答
共4个回答
热心网友
时间:2022-06-29 06:13
#include <stdio.h>
int main()
{
int i;
int a[100],b[100];
int count=0;
for(i=1;i<=100;i++)
{
int Cnt=0;
a[i-1]=i;
for(int j=1;j<=i;j++)
{
if(a[i-1]%j==0)
Cnt++;
}
if(Cnt == 2)
{
b[count]=a[i-1];
count++;
}
}
printf("100以内总共有%d个素数,分别如下:\n",count);
for(i=0;i<count;i++)
{
printf("%d\t",b[i]);
}
printf("\n");
return 0;
}
说明:刚刚在VC6.0下现写的,附图片
热心网友
时间:2022-06-29 06:13
#include <stdio.h>
// 是否是素数
bool is_prime(int n)
{
if(n < 2)
{
return false;
}
for (int i=2;i*i<=n;i++)
{
if(n % i == 0)
{
return false;
}
}
return true;
}
int main()
{
int suShu[100];
// 初始化
memset(&suShu, 0, sizeof(int) * 100);
int nCount = 0;
for (int i = 0; i <= 100; i++)
{
// 如果是素数,则打印
if (is_prime(i))
{
suShu[nCount++] = i;
}
}
// 输出该素数数组
for (int i = 0; i < nCount; i++)
{
printf("%d ", suShu[i]);
}
return 0;
}
欢迎采纳
追问用VC6.0编译这个程序有问题?能不能看下问题在哪儿。。
追答加上头文件#include
热心网友
时间:2022-06-29 06:14
#include <stdio.h>
#define MAX 100
int PrimeNum( int i ) //判断函数
{
int j;
for( j = 2; j < i; j++ )
{
if( i % j == 0 )
return 0;
}
return 1;
}
int main( )
{
int drr[MAX] = { 0 };
int i;
int j=0;
for( i = 2; i < MAX; i++ ) // 循环判断
{
int flag = 0;
flag = PrimeNum( i );
if( flag )
{
drr[j++] = i;
}
}
for( i = 0; i < j; i++ ) // 输出
{
printf("%d,",drr[i] );
}
getch();
return 0;
}
热心网友
时间:2022-06-29 06:14
http://blog.csdn.net/chuchus/article/details/20691769
这是我博客里面的文章。最高效的批量素数判定。