基本上我想对我输入的任何数字进行平方。为什么这不起作用?
我编译,但它不会影响我的输入。
#include <iostream>
using namespace std;
float SquareNumber;
float Squared = SquareNumber * SquareNumber;
int main()
{
cout << "Please enter a number to be squared: ";
cin >> SquareNumber;
cout << SquareNumber << " squared is " << Squared;
system("pause");
return 0;
};
答案 0 :(得分:4)
我编译,但它不会影响我的输入。
输入数字后需要计算平方。在计算Squared
时,SquaredNumber
的值为0.0。因此,Squared
的值也是0.0。
该行
float Squared = SquareNumber * SquareNumber;
此时使用Squared
的值设置SquaredNumber
的值。当Square
的值发生变化时,不会更新 SquaredNumber
的值。要获得该效果,您需要使用一个函数。
#include <iostream>
using namespace std;
float SquareNumber;
float Squared(float in)
{
return in * in;
}
int main()
{
cout << "Please enter a number to be squared: ";
cin >> SquareNumber;
cout << SquareNumber << " squared is " << Squared(SquareNumber);
return 0;
};
答案 1 :(得分:0)
你的问题是你没有正确计算平方。您可以将其设为“compile time”,而不是“run time”。
只需将您的代码更改为此,但请确保您了解原因 - 并在此处询问您是否这样做(提示:在您知道数字是什么之前,如何计算数字的平方?)。
#include <iostream>
using namespace std;
int main()
{
float SquareNumber;
float Squared;
cout << "Please enter a number to be squared: ";
cin >> SquareNumber;
Squared = SquareNumber * SquareNumber; // calculate at *run time*
cout << SquareNumber << " squared is " << Squared;
system("pause");
return 0;
};