在文本框textBox1中输入一个正整数,单击“判断”按钮,就可以判断输入的数是否为素数,判断的结果在label

如题所述

先写一个函数
public bool checkPrime(int n)
{
int max = Convert.ToInt32(Math.Sqrt(n));
int i = 2;
while (i <= max)
{
if (n % i == 0)
{
return false;
}
i++;
}
return true;
}
然后在按钮的单击事件中这样写:
string strs = textBox1.Text;
int number = Convert.ToInt32(strs);
if (checkPrime(number))
{
label1.Text = "是素数";
}
else
{
label1.Text = "不是素数";
}追问

Math.Sqrt,这个会报错的啊!

追答

哦,我这个事C#做的,呵呵,你换成VB的函数就行了,给你解释一下这些函数。
math.sqrt()这个方法就是求一个数的平方根。
Convert.ToInt32()方法就是将一个字符串转换成int类型。
你根据VB的函数再改一下就可以了,我手头上没有VB

追问

我们就是要用c#做的啊,这个界面是用c#的windows窗体应用控制台做的啊。

追答

没问题啊,整个代码都给你贴上,自己找找原因吧,可能使你声明方法的位置可能有问题。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public bool checkPrime(int n)
{
int max = Convert.ToInt32(Math.Sqrt(n));
int i = 2;
while (i <= max)
{
if (n % i == 0)
{
return false;
}
i++;
}
return true;
}

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
string strs = textBox1.Text;
int number = Convert.ToInt32(strs);
if (checkPrime(number))
{
label1.Text = "是素数";
}
else
{
label1.Text = "不是素数";
}
}
}
}

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
相似回答