我目前正在尝试学习C,并且已经使这个程序计算出正六边形的面积:
#include <stdio.h>
#include <math.h>
void main(){
int a;
float ans;
scanf("%d", &a); // get length of side
ans = ((pow(a, (1/3)))/2)*(a*a);
printf("%f", ans);
}
然而,它输出看似随机的数字。
答案 0 :(得分:2)
首先,您的代码不会编译(<!DOCTYPE html>
<html>
<head>
<title>Register!</title>
</head>
<body>
<form method="post" name="register">
<label>Registration</label><br>
<label>New username</label><br>
<input type="text" name="user"><br>
<label>New password</label><br>
<input type="text" name="password"><br>
<input type="submit" name="register" value="Register now!">
</form>
</body>
</html>
),您也应该使用Missing semicolon
代替int main()
。
其次你的公式也错了,边长void main()
的正六边形面积计算为a
。
第三,像((3√3)/2)*a²
这样的表达式总是产生零,因为它们都是整数,以获得预期的行为使其中一个浮点数/双精度。例如1/3
或1.0/3
等。
(float)1/3