是否可以仅使用两个positive
来了解negative
中的号码是0
还是c language
还是if conditions
?
如果是,那怎么样?请让我知道
答案 0 :(得分:3)
仅使用两个if
s:
if (num <= 0) {
if (num == 0) {
/* num is zero */
} else {
/* num is negative */
}
} else {
/* num is positive */
}
答案 1 :(得分:3)
我希望这可以解决你的问题
#include <stdio.h>
int main()
{
float num;
printf("Enter a number: ");
scanf("%f",&num); // Take input from user
if (num<=0) // if Number is >= 0
{
if (num==0) // if number is equal to zero
printf("You entered zero.");
else // if number is > 0
printf("%.2f is negative.",num);
}
else // if number is < 0
printf("%.2f is positive.",num);
return 0;
}
答案 2 :(得分:0)
如果c
是一个浮点,问题会变得很有趣。
c
可能是
1)&gt; 0
2)&lt; 0
3)= 0
4)“非数字”
#include <math.h>
...
int classification = fpclassify(x);
if (classification == FP_NAN || classification == FP_ZERO)) {
if (classification == FP_NAN) puts("NaN")
else puts("zero");
}
else {
if (signbit(x)) puts("< 0" )
else puts("> 0");
}
最多执行了2 if()
次。
不使用分类函数/宏
if (x != x || x == 0.0)) {
if (x != x) puts("NaN")
else puts("zero");
}
else {
if (x < 0.0) puts("< 0" )
else puts("> 0");
}