相关疑难解决方法(0)

Ada中的二次方程

我刚走过来,决定尝试一下Ada.缺点是语法和功能远离C++.所以我不得不喜欢各种各样的东西让这件事情起作用.

我的问题是,如果有更好的方法来做这个计算,我在这里做了什么

   IF(B < 0.0) THEN
      B := ABS(B);
      X1 := (B / 2.0) + Sqrt( (B / 2.0) ** 2.0 + ABS(C));
      X2 := (B / 2.0) - Sqrt( (B / 2.0) ** 2.0 + ABS(C));
   ELSE
      X1 := -(B / 2.0) + Sqrt( (B / 2.0) ** 2.0 - C);
      X2 := -(B / 2.0) - Sqrt( (B / 2.0) ** 2.0 - C);
   END IF;
Run Code Online (Sandbox Code Playgroud)

我有一些负数的问题,这就是为什么我做了一个IF语句并使用ABS()将它们转为正数.但奇怪的是它适用于另一种情况,这很奇怪......

math ada

10
推荐指数
1
解决办法
2165
查看次数

数学能力运算符未按预期工作

short sho1, sho2;
printf("Enter two shorts.\n");
scanf("%hd %hd", &sho1, &sho2);
printf("%hd^%hd is %hd.\n", sho1, sho2, sho1^sho2);
Run Code Online (Sandbox Code Playgroud)

当我输入'2 2'时,我得到这个输出:

2 ^ 2是0.

怎么会?我在Eclipse中使用MinGW GCC编译器,以防万一.

c math

3
推荐指数
2
解决办法
5474
查看次数

标签 统计

math ×2

ada ×1

c ×1