当前位置: 代码迷 >> C语言 >> 一个求1-100之间的素数程序,错在哪里?我找了好久找不出来
  详细解决方案

一个求1-100之间的素数程序,错在哪里?我找了好久找不出来

热度:143   发布时间:2007-11-08 17:44:50.0
一个求1-100之间的素数程序,错在哪里?我找了好久找不出来
#include "stdio.h"
#include "math.h"
main()
{int i=1,m,n;
printf("the prime is 2 ");
for (m=3;m<=100;m++,m++)
{ n=sqrt(m);        
for(i=2;i<=n;i++)
if (m%i==0) break;
if (i>n)
printf("%d ",m);
}
}

8 D:\JMSOFT\413hd.c stray '\161' in program
8 D:\JMSOFT\413hd.c stray '\161' in program
 .....
显示出错如上

[此贴子已经被作者于2007-11-8 17:51:11编辑过]

搜索更多相关的解决方案: 素数  

----------------解决方案--------------------------------------------------------

...........

[此贴子已经被作者于2007-11-8 18:01:05编辑过]


----------------解决方案--------------------------------------------------------
你重新打一遍,不要COPY
然后就可以了

----------------解决方案--------------------------------------------------------
打代码干嘛这么喜欢用中文输入法来输入空格?



by 雨中飞燕 C/C++学习讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge)论坛:[/url] http://yzfy.org/
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=181314]C++编写的Windows界面游戏[/url]
----------------解决方案--------------------------------------------------------

晕,4楼你怎么知道是这个原因的啊?


----------------解决方案--------------------------------------------------------
#include "stdio.h"
main()
{
int n,i,j,a;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
a=1;
for(j=2;j<i;j++)
{
if(i%j==0)
a=0;
}
if(a==1)
printf("n=%d\n",i);
}
}

这个程序是自己定义多少到多少输出的 你去试试看
----------------解决方案--------------------------------------------------------
以下是引用littlerice在2007-11-8 17:44:50的发言:
#include "stdio.h"
#include "math.h"
main()
{int i=1,m,n;
printf("the prime is 2 ");
for (m=3;m<=100;m++,m++)
{ n=sqrt(m);        
for(i=2;i<=n;i++)
if (m%i==0) break;
if (i>n)
printf("%d ",m);
}
}

8 D:\JMSOFT\413hd.c stray '\161' in program
8 D:\JMSOFT\413hd.c stray '\161' in program
 .....
显示出错如上

LZ 我改正如下!你去运行下看看
#include "stdio.h"
#include "math.h"
main()
{int i=1,m,n;

for(m=3;m<=100;m++,m++)
{ n=sqrt(m);
for(i=2;i<=n;i++)
if(m%i==0) break;
if(i>n)
printf("%d\n",m);
}
}


----------------解决方案--------------------------------------------------------
的确是“”打多了。。。。。谢谢各位呀
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
int main()
{
int i=1,m,n;
printf("the prime are 2 ");
for(m=3;m<=100;m+=2)
{n=sqrt(m);
for(i=2;i<=n;i++)
if(m%i==0) break;
if(i>n)
printf("%d ",m);
}
}

----------------解决方案--------------------------------------------------------
以下是引用C语言的深度在2007-11-8 21:08:12的发言:
#include "stdio.h"
main()
{
int n,i,j,a;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
a=1;
for(j=2;j<i;j++)
{
if(i%j==0)
a=0;
}
if(a==1)
printf("n=%d\n",i);
}
}

这个程序是自己定义多少到多少输出的 你去试试看

偷下懒^_^
#include "stdio.h"
main()
{
int n,i,j,a;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
a=1;
for(j=1;j<=i/2;j++) // i/2这样可以简单点
{
if(i%j==0)
a=0;
}
if(a==1)
printf("n=%d\n",i);
}
}


----------------解决方案--------------------------------------------------------
  相关解决方案