主题:请教关于循环的问题
djc1103
[专家分:0] 发布于 2007-07-17 18:22:00
就此程序怎样解决打印时输出的数字不回重复?
using System;
class sushu
{
static void Main()
{
int n,i,j=0;
Console.WriteLine ("请输入你想求的多少以内的素数:");
n=int.Parse (Console.ReadLine ());
Console.WriteLine ("你要的素数为:");
for( i=1;i<=n;i++)
for(j=2;j<i;)
if(i%j!=0)
{
j++;
Console.Write("{0}",i)
}
else break;
}
}
先谢谢了啊!!!!!!!
最后更新于:2007-07-17 18:31:00
回复列表 (共6个回复)
沙发
lejcey [专家分:210] 发布于 2007-07-17 21:17:00
因为每次判断i % j == 0都会Console.Write("{0}",i),所以会重复
板凳
lejcey [专家分:210] 发布于 2007-07-17 21:40:00
楼主你的代码风格实在不敢恭维,还有,你这个程序不能产生素数,因为输入10的时候结果里面有一个9
3 楼
lejcey [专家分:210] 发布于 2007-07-17 22:07:00
using System;
class sushu
{
static void Main()
{
int n = 0;
Console.WriteLine("请输入你想求的多少以内的素数:");
n = int.Parse(Console.ReadLine ());
Console.WriteLine ("你要的素数为:");
Console.Write(" {0} ", 2);
for (int i = 3; i <= n; ++i)
{
for(int j = 2; j < i; ++j)
{
if(i % j == 0)
{
break;
}
else if (j == i - 1)
{
Console.Write(" {0} ", i);
}
}
}
}
}
4 楼
louja [专家分:280] 发布于 2007-07-19 09:55:00
using System;
class sushu
{
static void Main()
{
int n,i,j=0;
Console.WriteLine ("请输入你想求的多少以内的素数:");
n=int.Parse (Console.ReadLine ());
Console.WriteLine ("你要的素数为:");
for( i=3;i<=n;i++)
for(j=2;j<i;)
if(i%j!=0)
{
j++;
}
else Console.Write("{0}",i) ;
}
}
5 楼
louja [专家分:280] 发布于 2007-07-19 09:56:00
using System;
class sushu
{
static void Main()
{
int n,i,j=0;
Console.WriteLine ("请输入你想求的多少以内的素数:");
n=int.Parse (Console.ReadLine ());
Console.WriteLine ("你要的素数为:");
for( i=3;i<=n;i++)
for(j=2;j<i;)
if(i%j==0)
{
break;
}
else Console.Write("{0}",i) ;
}
}
6 楼
xiaohaokof [专家分:1760] 发布于 2007-07-20 17:49:00
[quote]
using System;
class sushu
{
static void Main()
{
int n = 0;
Console.WriteLine("请输入你想求的多少以内的素数:");
n = int.Parse(Console.ReadLine ());
Console.WriteLine ("你要的素数为:");
Console.Write(" {0} ", 2);
for (int i = 3; i <= n; ++i)
{
for(int j = 2; j < i; ++j)
{
if(i % j == 0)
{
break;
}
else if (j == i - 1)
{
Console.Write(" {0} ", i);
}
}
}
}
}[/quote]
其实,你不就是在平台上打得然后再copy一下过来,楼主可能是直接在这上面打得,不关心问题,老是谈那些个东东,真是受不了。
就好像看一个女生,长得好看,心肠不好,你会娶她嘛?
我来回复