繁体   English   中英

C#偶数和阶乘

[英]c# even number and factorial

所以我有问题...我需要使用C#Windows窗体构建程序,并使用texbox1和textbox2阶乘进行计算,并在richtextbox中显示偶数,并使用FOR循环,我已经构建了此解决方案,但它只给我一个数字。 ...是介意**** ....如果你知道我的意思...有任何gest悔吗?

private void button1_Click(object sender, EventArgs e)
    {
        int x = Convert.ToInt32(textBox1.Text);
        int y = Convert.ToInt32(textBox2.Text);
        int fact = 1;
        for (int i = x; i<=y; i++)
        {
            fact = fact * y;
        }
        richTextBox1.Text = fact.ToString();
    }

好吧,我也已经构建了这个,您对此有何看法? 而且maby有人可以告诉我如何使用它?

for (int i = X; i <= Y; i++)
    if (i % 2 == 0)
    {
        fakt = 1;

        for (int j = i; j > 0; j--)
            fakt = fakt * j;
    }

让我们从定义阶乘函数开始。 您说它必须是 for循环 ,所以:

private int Factorial(int n) {
    int result = 1;
    for (int i = 2; i <= n; i++)
        result *= i;
    return result;
}

现在,您说您希望文本框具有以下格式:

X = 1; Y = 4;
=======================|Number|Factorial|====================
=======================|2|2|=================================
=======================|4|24|================================

让我们从制作一个将打印列标题的函数开始:

private void PrintHeaders(int x, int y) {
    StringBuilder builder = new StringBuilder();
    builder.AppendFormat("X = {0}; Y = {1}", x, y);
    builder.AppendLine();
    builder.AppendLine("===============|Number|Factorial|=============");
    richTextBox1.Text = builder.ToString();
}

最后,我们的click事件处理程序

private void button1_Click(object sender, EventArgs e) {
    int x = Convert.ToInt32(textBox1.Text);
    int y = Convert.ToInt32(textBox2.Text);
    PrintHeaders(x, y);
    for(int i = x; i <= y; i++) {
        if(i % 2 == 0) {
           int result = Factorial(i);   
           richTextBox1.Text += "==========|" + i + "|" + result + "|=============";
           richTextBox1.Text += Environment.NewLine; 
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM