[英]how do I print a number less than 1 but greater than 0?
我在脚本中表达了power方法,有时我试图做一个负面的,即1 / final_answer
事情是它不打印2 ^ -3这是.125的东西
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);
}
}
首先,循环
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) {
你应该避免使用==
和!=
双打。
对于指数的负值,您的循环永远不会终止,因为count永远不会达到负值(或零),至少在它溢出之前。
正如其他人所说,将指数读为整数,而不是双精度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.