我正在做一个计算多边形表面积的代码除其他外,用户必须输入多边形的边数(不能是小数)。我需要它符合“如果”的条件:
if (side_a < 0 || radius < 0 || diameter < side_a || num_pol<3 ||...
代码必须是:“如果num_pol是十进制的”
此外,我必须计算一个多边形的面积,其中有一个圆。公式为:半径^2*边数*切线(180/边数)。所以我在C中写道:
pow(radius,2)*num_pol*tan(P/(2*num_pol)) //P is pi//
对吗?
谢谢您。
最佳答案
您可以使用:ceilf(side) == side && side > 0
这是验证码:
#include <stdio.h>
#include<math.h>
int main(void) {
// your code goes here
double side;
side = 3.0;
if(ceilf(side) == side && side > 0)
printf("true");
else
printf("false");
side = 3.1;
if(ceilf(side) == side && side > 0)
printf("true");
else
printf("false");
side = 3.6;
if(ceilf(side) == side && side > 0)
printf("true");
else
printf("false");
side = -3.6;
if(ceilf(side) == side && side > 0)
printf("true");
else
printf("false");
return 0;
}
关于c - 我如何确保用户在C中输入整数而不是小数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49832524/