用c语言求100--200之间的素数

#include<stdio.h>#include<math.h>voidmain(){intm,i,k;for(m=100;m<=200;m++){k=(int)sqr... #include<stdio.h>
#include<math.h>
void main()
{
int m,i,k;
for(m=100;m<=200;m++)
{k=(int)sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) break;
else printf("m=%d\n",m);}
}

那里不对啊
???
展开
 我来答
cuicong77
2011-05-03 · TA获得超过110个赞
知道答主
回答量:167
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
#include<math.h>
void main()
{
int m,i,k;
for(m=100;m<=200;m++)
{
k=(int)sqrt(m);

for(i=2;i<=k;i++)
if(m%i==0)
break;
if(k<i)
printf("%d,",m);
}
getch();
}
程序基本上没什么大错,只要在输出上改一下就行,以上正确的代码
你的错误:例如当m=105(显然不是素数)m%2!=0 然后执行else ,就是输出105;
所以你要个判段i到k是否 都被m除到,所以i》k时就输出这个数,方法很多,你也可以用的别的方法做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
处力魔小坑1D
2011-05-03
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
// test_sushu.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <math.h>

int main()
{
int m,i,k;

for(m=100;m<=200;m++)
{
k=(int)sqrt((float)m);
for(i=2;i<=k;i++)
{
if(m%i==0)
{

break;
}

}
if (i>k)
{
printf("m=%d\n",m);
}

}
getchar();
return 0;
}

你的内存循环有问题自己找不要让人教了,
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友44f8937
2011-05-03 · 超过34用户采纳过TA的回答
知道答主
回答量:138
采纳率:0%
帮助的人:75.2万
展开全部
简单一点儿吧
#include<stdio.h>

main()
{
int m,i;
for(m=100;m<=200;m++)
{
for(i=2;i<m;i++)
{
if(m%i!=0)
{
printf("%d\n",m);
}
break;
}

}
return 0;

}
以后有不懂的,发邮件到yuanxuebo1840121@163.com,我帮你啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
养菲菲WY
2011-05-04 · TA获得超过173个赞
知道答主
回答量:186
采纳率:0%
帮助的人:85万
展开全部
#include<stdio.h>
void main()
{ int i,j,count;
for(i=100;i<=200;i++)
{ count=0;
for(j=2;j<i;j++)
{ if(i%j==0)
count++;
}
if(count==0)
printf("%d 是素数!\n",i);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式