C#使用一种方法检查数字是否为素数,而不是素数或负数
对于学校实习作业,我们必须创建一个小程序,使用布尔方法来计算一个数字是否为素数。它还必须检查一个数字是否为负数。如果输入0,它将停止询问号码并结束程序。(我添加了作业的屏幕截图) 我成功地完成了主要检查部分。当我输入一个负数时,它将显示:负数,之后它仍然会计算它是素数是或否。结束程序时也是如此。它首先计算0是否是素数,然后结束它 我该如何解决这个问题 这是我的代码:C#使用一种方法检查数字是否为素数,而不是素数或负数,c#,loops,methods,C#,Loops,Methods,对于学校实习作业,我们必须创建一个小程序,使用布尔方法来计算一个数字是否为素数。它还必须检查一个数字是否为负数。如果输入0,它将停止询问号码并结束程序。(我添加了作业的屏幕截图) 我成功地完成了主要检查部分。当我输入一个负数时,它将显示:负数,之后它仍然会计算它是素数是或否。结束程序时也是如此。它首先计算0是否是素数,然后结束它 我该如何解决这个问题 这是我的代码: static void Main(string[] args) { int entered_numbe
static void Main(string[] args)
{
int entered_number = 1;
while (entered_number != 0)
{
//ask for user entry
Console.Write("enter a number: ");
entered_number = int.Parse(Console.ReadLine());
if (entered_number < 0)
{
Console.WriteLine("Number is negative");
}
//variable for subprogram
bool prime = IsPrimeNumber(entered_number);
//output
if (prime == true)
{
Console.WriteLine("Number is Prime");
}
else if (prime == false)
{
Console.WriteLine("Number is not Prime");
}
}
Console.WriteLine("End of program");
Console.ReadKey();
}
//subprogram
static bool IsPrimeNumber(int entered_number)
{
//count
int count = 0;
for (int i = 1; i <= entered_number; i++)
{
if (entered_number % i == 0)
{
count++;
}
}
if (count == 2)
{
return true;
}
else if (count != 2 && entered_number != 0)
{
return false;
}
return false;
}
static void Main(字符串[]args)
{
输入的整数=1;
while(输入的\u编号!=0)
{
//请求用户输入
控制台。写入(“输入一个数字:”);
输入的_number=int.Parse(Console.ReadLine());
如果(输入的数字<0)
{
Console.WriteLine(“数字为负数”);
}
//子程序变量
bool prime=IsPrimeNumber(输入的编号);
//输出
if(prime==true)
{
Console.WriteLine(“数字是素数”);
}
else if(prime==false)
{
Console.WriteLine(“数字不是素数”);
}
}
控制台写入线(“程序结束”);
Console.ReadKey();
}
//子程序
静态布尔IsPrimeNumber(输入整数)
{
//计数
整数计数=0;
for(int i=1;i在while
循环之前要求用户至少输入一次。这将确保如果他们输入的第一个数字是0,程序将按预期结束。目前,它在第一次运行时使用1,然后要求用户输入并运行所有代码。至于if(输入的编号<0)
语句,而是将所有代码作为else添加到此if语句中,这样,如果数字为负数,您的程序只需再次请求用户输入。参见下面的示例(我省略了第一个建议,您需要自己编写一些代码:p):
while(输入的编号!=0)
{
//请求用户输入
控制台。写入(“输入一个数字:”);
输入的_number=int.Parse(Console.ReadLine());
如果(输入的数字<0)
{
Console.WriteLine(“数字为负数”);
}
其他的
{
//子程序变量
bool prime=IsPrimeNumber(输入的编号);
//输出
if(prime==true)
{
Console.WriteLine(“数字是素数”);
}
else if(prime==false)
{
Console.WriteLine(“数字不是素数”);
}
}
}
控制台写入线(“程序结束”);
Console.ReadKey();
在while
循环之前,请用户至少输入一次。这将确保如果用户输入的第一个数字是0,程序将按预期结束。目前,它在第一次运行时使用1,然后要求用户输入并运行所有代码。至于您的if(输入的编号<0)
语句,而是将所有代码作为else添加到此if语句中,这样,如果数字为负数,您的程序只需再次请求用户输入。参见下面的示例(我省略了第一个建议,您需要自己编写一些代码:p):
while(输入的编号!=0)
{
//请求用户输入
控制台。写入(“输入一个数字:”);
输入的_number=int.Parse(Console.ReadLine());
如果(输入的数字<0)
{
Console.WriteLine(“数字为负数”);
}
其他的
{
//子程序变量
bool prime=IsPrimeNumber(输入的编号);
//输出
if(prime==true)
{
Console.WriteLine(“数字是素数”);
}
else if(prime==false)
{
Console.WriteLine(“数字不是素数”);
}
}
}
控制台写入线(“程序结束”);
Console.ReadKey();
使用执行时,您的代码将至少执行一次
int entered_number = 0;
do
{
//ask for user entry
Console.Write("enter a number: ");
entered_number = int.Parse(Console.ReadLine());
if (entered_number < 0)
{
Console.WriteLine("Number is negative");
}
else if (entered_number > 0)
{
Console.WriteLine(IsPrimeNumber(entered_number) ? "Number is Prime" : "Number is not Prime");
}
else
{
break;
}
}
while (entered_number != 0);
Console.WriteLine("End of program");
Console.ReadKey();
int输入的\u编号=0;
做
{
//请求用户输入
控制台。写入(“输入一个数字:”);
输入的_number=int.Parse(Console.ReadLine());
如果(输入的数字<0)
{
Console.WriteLine(“数字为负数”);
}
否则如果(输入的编号>0)
{
Console.WriteLine(IsPrimeNumber(输入的数字)?“数字是素数”:“数字不是素数”);
}
其他的
{
打破
}
}
while(输入的_编号!=0);
控制台写入线(“程序结束”);
Console.ReadKey();
使用执行时,您的代码将至少执行一次
int entered_number = 0;
do
{
//ask for user entry
Console.Write("enter a number: ");
entered_number = int.Parse(Console.ReadLine());
if (entered_number < 0)
{
Console.WriteLine("Number is negative");
}
else if (entered_number > 0)
{
Console.WriteLine(IsPrimeNumber(entered_number) ? "Number is Prime" : "Number is not Prime");
}
else
{
break;
}
}
while (entered_number != 0);
Console.WriteLine("End of program");
Console.ReadKey();
int输入的\u编号=0;
做
{
//请求用户输入
控制台。写入(“输入一个数字:”);
输入的_number=int.Parse(Console.ReadLine());
如果(输入的数字<0)
{
Console.WriteLine(“数字为负数”);
}
否则如果(输入的编号>0)
{
Console.WriteLine(IsPrimeNumber(输入的数字)?“数字是素数”:“数字不是素数”);
}
其他的
{
打破
}
}
while(输入的_编号!=0);
控制台写入线(“程序结束”);
Console.ReadKey();
一旦达到不再希望继续的状态,您希望中断;
退出循环。当您检测到负面消息时,您没有采取任何措施终止应用程序/循环。一旦达到不再希望继续的状态,您希望中断;
退出循环。您没有采取任何措施终止应用程序/循环当你检测到一个负值时,e应用程序/循环。也是JU