在c#中使用循环创建数字及其平方的列表
本文关键字:列表 数字 创建 循环 | 更新日期: 2023-09-27 18:02:10
我想在c#中使用for循环创建一个数字及其平方的列表。
现在我有:
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
int counter;
int square = 1;
const int maxValue = 10;
Console.WriteLine("Number Square");
Console.WriteLine("-------------------");
{
for (counter = 1; counter <= maxValue; counter++)
square = counter ^ 2;
Console.WriteLine("{0} {1}", counter, square);
}
}
}
}
但是我的输出只是一个11和一个8。
当我把"square = counter ^ 2"放在变量声明下面时,我最终得到一列数字1-10,但第二行只是一堆3,如果它们被设置为0,它们就是2。如果我没有设置计数器变量,它也会给我一个错误来声明它。
当我把方程放在它现在的位置时,它要求将平方变量声明为某种东西(在这里它是1)。
而且我是一个初学者,我还没有学过类,所以我希望任何更正都不要包括它们。
修正,天哪,我上次没有犯这个错误,是的,我需要更多的练习。抱歉您不小心使用了for循环块声明的简写。
for语句后跟花括号,以指示要执行的代码块。然而,如果你跳过大括号,它只会抓取"下一行"。在您的示例中,在循环中只执行square = counter ^ 2;
。但是,^操作符是用于xor操作的,而不是用于pow操作的。
你想要这样:
Console.WriteLine("Number Square");
Console.WriteLine("-------------------");
for (counter = 1; counter <= maxValue; counter++)
{
square = counter * counter;
Console.WriteLine("{0} {1}", counter, square);
}
大括号的位置很重要:
Console.WriteLine("Number Square");
Console.WriteLine("-------------------");
for (counter = 1; counter <= maxValue; counter++)
{
square = counter * counter;
Console.WriteLine("{0} {1}", counter, square);
}
注意:正是由于这个原因,for
循环和if
语句总是使用大括号是一个很好的实践。
还请注意,^
不是"to power of",而是排他性的或
在你的计数器循环中试试:
for (counter = 1; counter <= maxValue; counter++)
{
square = Math.Pow(counter, 2);
Console.WriteLine("{0} {1}", counter, square);
}
^操作符不是用于此目的的。请使用System.Math.Pow()。例子:var square = Math.Pow(3, 2)
。这将得到9.
for循环处于简写模式。您的console.writeline
在for循环之外。
尝试用
替换这些行for (counter = 1; counter <= maxValue; counter++)
{
square = counter * counter;
Console.WriteLine("{0} {1}", counter, square);
}
注意^在c#中不是幂运算符。
square = counter ^ 2
??这里^
是一个异操作
这样做:square = counter * counter;
和
{
square = counter * counter;
Console.WriteLine("{0} {1}", counter, square);
}
inside for - loop
或者最好用数学。战俘方法
我将使用:
private void sqtBtn_Click(object sender, EventArgs e)
{
outputList.Items.Clear();
int itemValue, sqt;
for (int i = 0; i < randomNumAmount; i++)
{
int.TryParse(randomList.Items[i].ToString(), out itemValue);
outputList.Items.Add(Math.Sqrt(itemValue).ToString("f"));
}
}