我在脚本中表达了power方法,有时我试图做一个否定的,这是1 / final_answer
事情是它不打印诸如.125
的2 ^ -3之类的东西using System;
class MainClass
{
static void Main()
{
Console.Write ("Enter a base number: ");
string str_x = Console.ReadLine ();
double x = double.Parse (str_x);
Console.Write ("Enter an exponent: ");
string str_n = Console.ReadLine ();
double n = double.Parse (str_n);
double final = 1;
int count = 1;
while (count != n+1) {
final = final * x;
count++;
}
if (n < 0)
final = 1 / final;
Console.WriteLine(final);
}
}
答案 0 :(得分:2)
首先,循环
int count = 1;
while (count != n + 1)
final = final * x;
count++;
}
如果n == -3
count
始终为正,则无法结束。
此外,它可能是无限循环,因为您比较int
和double
double n = float.Parse (str_n);
....
int count = 1;
while (count != n + 1) {
您应避免将==
和!=
与双打一起使用。
答案 1 :(得分:0)
对于指数的负值,您的循环永远不会终止,因为count永远不会达到负值(或零),至少在它溢出之前。
正如其他人所说,将指数读作整数,而不是双数。