回 帖 发 新 帖 刷新版面

主题:请教关于循环的问题

就此程序怎样解决打印时输出的数字不回重复?

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;                            
    }
}
先谢谢了啊!!!!!!!

回复列表 (共6个回复)

沙发

因为每次判断i % j == 0都会Console.Write("{0}",i),所以会重复

板凳

楼主你的代码风格实在不敢恭维,还有,你这个程序不能产生素数,因为输入10的时候结果里面有一个9

3 楼


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 楼

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 楼

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 楼

[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一下过来,楼主可能是直接在这上面打得,不关心问题,老是谈那些个东东,真是受不了。
就好像看一个女生,长得好看,心肠不好,你会娶她嘛?

我来回复

您尚未登录,请登录后再回复。点此登录或注册