输出100以内的质数,用c语言编写

用循环结构,不要用数组,函数,用最简单的方式
2024-11-07 09:34:42
推荐回答(5个)
回答(1):

#include


int main()

{

int i,j;

int count=0;


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

{

for(j=2;j<=i/2;j++)

if(i%j==0)//如果i能被j整除  就不是质数  退出循环

break;

if(j>i/2)

{

count++;

printf("%-3d",i);

if(count%5==0)//当每一行有5个数时  换行

printf("\n");

}

}

return 0;

}

for(j=2;j<=i/2;j++)中的 j<=i/2是表示  从j=2开始遍历到j=i/2  看看2~i/2中能否整除i

如果都不能  说明i是质数(也就是j>i/2)

如果有1个及以上能整除i  说明i不是质数


for()

{

}

//for循环结束之后  j的值是大于i/2的  因为for循环的条件是:j<=i/2

//因此  当j>i/2时  for循环结束

if(j>i/2)

这里当且仅当2~i/2都不能整除i时   也就是j>i/2  才说明i是质数

参考资料

输出100以内的质数,用c语言如何编写?.百度知道[引用时间2017-12-25]

回答(2):

#include

int main(int argc, char **argv)

{

int x;

for (x=1;x<100;x++){

int i;

int isprime=1;//表示x是素数。

for(i=2;i

if (x%i==0){

isprime=0;

break;

}

}

if (isprime==1){

printf("%d",x);

}

}

return 0;

}

C语言编程计算注意事项:

1、编程时注意符号大小写。

2、main函数要有返回值

3、C语言中定义数组,要定义出大小,数组的大小只能是常量不能是变量。

4、%md ; %0md ;%.mf;(以m位进行右对齐输出,不足m位空格补上;以m位进行右对齐输出。不足m位用0补上;保留m位小数)

回答(3):

楼主你好
用最简单的方式编写的:
#include

int main()
{
int i,j;
int count=0;

for(i=2;i<100;i++)
{
for(j=2;j<=i/2;j++)
if(i%j==0)//如果i能被j整除 就不是质数 退出循环
break;
if(j>i/2)
{
count++;
printf("%-3d",i);
if(count%5==0)//当每一行有5个数时 换行
printf("\n");
}
}
return 0;
}

希望能帮助你哈

回答(4):

#include
int main()
{
int i,j;
for(i=2;i<=100;i++)
{
for(j=2;j*j<=i;j++)
if(!(i%j))
break;
if(i%j)
printf("%d\n",i);
}
return 0;
}

回答(5):

#include
void main ()
{
int i,j;
for (i =0;i <=100;i ++)
{
for (j=2;j<=i;j++)
{
if (i %j ==0&&i ==j)
{
printf (“%d \n”,i );
}
}
}
}