如何在 C# 中将一个数字求为另一个数字的绝对值?

问题描述 投票:0回答:2

我的问题是我需要编写一个复杂的数学方程,让我将

x
提高到
|y|
次方,这两个数字都是用户输入的。我尝试使用下面的代码,但它产生了
CS7036
错误:

没有给出与“Math.Pow(double, double)”所需的形式参数“y”相对应的参数

class Program
{
    static void Main(string[] args)
    {
        double x,y,z,v;
        Console.Write("x=");
        double.TryParse(Console.ReadLine(), out x);
        Console.Write("y=");
        double.TryParse(Console.ReadLine(), out y);
        Console.Write("z=");
        double.TryParse(Console.ReadLine(), out z);
        v=(1+Math.Pow(Math.Sin(x+y)))/
            Math.Abs(x-2*y/(1+x*x*y*y))*Math.Pow(x,Math.Abs(y))+
            Math.Pow(Math.Cos(Math.Atan(1/z)),2);
        Console.Write("v="+v);
        Console.ReadKey();
    }
}
c# math pow absolute-value
2个回答
3
投票

尝试为你的 Pow 指定第二个参数:

Math.Pow(Math.Sin(x + y),SECOND)

v = (1 + Math.Pow(Math.Sin(x + y))) / 
...

2
投票

更新

(OP发布代码后)

代码

        double x,y,z,v;
        Console.Write("x=");
        double.TryParse(Console.ReadLine(), out x);
        Console.Write("y=");
        double.TryParse(Console.ReadLine(), out y);
        Console.Write("z=");
        double.TryParse(Console.ReadLine(), out z);
        v=(1+Math.Pow(Math.Sin(x+y)))/
        Math.Abs(x-2*y/(1+x*x*y*y))*Math.Pow(x,Math.Abs(y))+
        Math.Pow(Math.Cos(Math.Atan(1/z)),2);
        Console.Write("v="+v);
        Console.ReadKey();

错误

错误 CS7036 没有给出与“Math.Pow(double, double)”所需的形式参数“y”相对应的参数

问题

您仅使用一个参数调用 Math.Pow():

Math.Sin(x + y)
,并且它需要两个参数。

解决方案

检查公式并使用两个参数调用

Math.Pow
,即:

Math.Pow(Math.Sin(x + y), something_here )

原始答案(在OP添加代码和错误描述之前)

我不确定 C7036 是什么,但这段代码输出

8
:

        var x = 2;
        var y = 3;
        var number = Math.Pow(x, Math.Abs(y));
        Console.Write(number);

在此示例中,x 和 y 是

int
,number 的类型是
double

© www.soinside.com 2019 - 2024. All rights reserved.