这是代码。
int a;
int pi = 3.14;
int area;
int main()
{
cout << "Input the radius of the circle ";
cin >> a;
a *= a *= pi >> area;
cout << "The area is " << area;
}
与数字一起使用时的>>
运算符是右移,而不是赋值。你想要类似的东西
area = a * a * pi;
更新
您还需要使用浮点类型,否则您的答案将不是您所期望的。
float a;
float pi = 3.14f;
float area;
我没有足够的耐心来破译你奇怪的密码。刚刚怎么样area = a * a * pi
?
你的代码没有任何意义。
pi
(和所有其他变量)需要是双精度或浮点数,...不是 int。int 只能包含整数。而且pi
显然不是积分。
a *= a *= pi >> area;
应该area = a * a * pi;
>>
是移位,而不是对右侧的赋值
*=
是乘法赋值,而不仅仅是乘法。即它类似于left=left*right
你的代码没有做我认为你想要它做的事情。您不使用>>
;分配给变量 这仅用于流提取(和位移)。
此外,a *= a *= pi
可能不会像您认为的那样做。
此外,您需要浮点值,而不是int
. “int” pi 仅为 3。
此外,您应该对流提取进行错误检查!
尝试:
int main()
{
const float pi = 3.14;
float a;
cout << "Input the radius of the circle ";
if (!(cin >> a)) {
cout << "Invalid radius!";
return 1;
}
float area = (a * a * pi);
cout << "The area is " << area;
}
int pi = 3.14;
错误的数据类型。将双精度值分配给int
? 那是错误的。
写这个:
double pi = 3.14;
同样,也将其他数据类型更改double
为。
圆的面积是 pi * r * r 因此你会想做;
a = a * a * pi
希望有帮助
他们都需要是花车。
因为您int
对所有变量都使用 或整数。您想使用double
s 甚至float
s。(double
s 更精确)。
您的所有变量都被声明为 int,它只是删除分配给它的任何小数部分。要使用浮点值,请改用 double。
此外,您的方程式几乎无法理解。不知道你想在那里做什么。