private void btnCalculate_Click(object sender, EventArgs e)
{
//variable declarations
int num;
//clear the listbox
lstPwrs.Items.Clear();
//add header to listbox
lstPwrs.Items.Add("N\tN^2\tN^3");
//each subsequent line is displayed as N is incremented
//use a while loop to do this, as you must be able to create
//the proper output for any upper limit the user enters
//initialize loop variable, then loop
num = Convert.ToInt32( txtInput.Text );
while ( num <= 5 )
++num;
{
lstPwrs.Items.Add( Math.Pow( num, 1 ) + "\t" + Math.Pow( num, 2 ) +
"\t" + Math.Pow( num, 3 ) );
}
}
这就是我所做的,只有一行数字显示出来,如果我输入5作为我的数字,那么一切都以每个6的功率为基础完成,如6 ^ 1,6 ^ 2,6 ^ 3 ,当文本框中有5时,会显示答案。希望这是有道理的。
答案 0 :(得分:7)
您的while
语法错误。它正在执行++num
,直到num <= 5
然后执行该块。我想你想要:
while ( num <= 5 )
{
++num;
lstPwrs.Items.Add( Math.Pow( num, 1 ) + "\t" + Math.Pow( num, 2 ) +
"\t" + Math.Pow( num, 3 ) );
}
或
num = 1;
while ( num <= 5 )
{
lstPwrs.Items.Add( Math.Pow( num, 1 ) + "\t" + Math.Pow( num, 2 ) +
"\t" + Math.Pow( num, 3 ) );
++num;
}
如果你想从1循环到5。
答案 1 :(得分:1)
将循环后的代码放在循环中。
while ( num <= 5 ){
++num;
lstPwrs.Items.Add( Math.Pow( num, 1 ) + "\t" + Math.Pow( num, 2 ) +
"\t" + Math.Pow( num, 3 ) );
}