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

用循环结构,不要用数组,函数,用最简单的方式... 用循环结构,不要用数组,函数,用最简单的方式 展开
 我来答
百度网友8dd8586
2018-03-30 · TA获得超过1.7万个赞
知道小有建树答主
回答量:60
采纳率:100%
帮助的人:4.8万
展开全部

#include<stdio.h>


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]

胜军聊旅游
高能答主

2021-05-27 · 爱旅游,专注旅游资讯
胜军聊旅游
采纳数:295 获赞数:21278

向TA提问 私信TA
展开全部

#include <stdio.h>

int main(int argc, char **argv)

{

int x;

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

int i;

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

for(i=2;i<x;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位小数)

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
未来需努力点缀
推荐于2017-12-16 · TA获得超过4679个赞
知道大有可为答主
回答量:850
采纳率:50%
帮助的人:531万
展开全部
楼主你好
用最简单的方式编写的:
#include<stdio.h>

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;
}

希望能帮助你哈
追问
if(j>i/2)

和j<=i/2 是什么意思呢
追答
for(j=2;ji/2)
如果有1个及以上能整除i 说明i不是质数

for()
{
}
//for循环结束之后 j的值是大于i/2的 因为for循环的条件是:ji/2时 for循环结束
if(j>i/2)
这里当且仅当2~i/2都不能整除i时 也就是j>i/2 才说明i是质数
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyq_107
2012-10-21 · TA获得超过900个赞
知道小有建树答主
回答量:440
采纳率:100%
帮助的人:468万
展开全部
#include <stdio.h>
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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乾利华D
2020-07-11
知道答主
回答量:2
采纳率:0%
帮助的人:1162
展开全部
#include <stdio.h>
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 );
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式