繁体   English   中英

如何打印小于1但大于0的数字?

[英]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始终为正。

另外,它可能是一个无限循环,因为你比较intdouble

double n = float.Parse (str_n);
....
int count = 1;
while (count != n + 1) {

你应该避免使用==!=双打。

对于指数的负值,您的循环永远不会终止,因为count永远不会达到负值(或零),至少在它溢出之前。

正如其他人所说,将指数读为整数,而不是双精度。

暂无
暂无

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

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