c++初学者 关於 平方平方根(保留两位小数)的问题

来源:百度知道 编辑:UC知道 时间:2024/09/25 13:24:37
#include <iostream>
#include <iomanip>
using namespace std;
void square(double k);
int main()
{
int n;

cout<<"enter a number:";
cin>>n;
square(n)

system("pause");
return 0;
}

void square(int k)
{

double l=pow(k,0.5);
double j=l*l;
cout<<setprecision(2)<<"square"<<l<<"square root"<<j<<endl;

}

输入一个数 然后计算他的平方根并4舍五入保留两位小数,,然后平方根的平方得到原来的数 也是四舍五入保留两位小数。。

比如123456 平方根是351.3630601 四舍五入得到351.36。 351.3630601 平方得到123456.00。

我写了一点但是写不下去了 不知道什麽地方出错了,,哪位会的帮帮忙吧

#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
void square(double k);
int main()
{
int n;

cout<<"enter a number:";
cin>>n;
square(n);

system("pause");
return 0;
}

void square(double k)
{

double l=/*pow(k,0.5);*/ sqrt(k);
double j=l*l;
cout <<setiosflags(ios::fixed); /*setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。setiosflags(ios::fixed)是用定点方式表示实数。*/
cout<<setprecision(2)<<"square:"<<l<<"square root:"<<j<<endl;

}

输出结果:
enter a number:123456
square:351.36square root:123456.00

void square(double k) // 改用double
{
double l,j;
l =pow(k,0.5); // 或 l = sqrt(k); 头文件 #include <math.h>
j=l*l;
。。。。
}

调用
cin>>n;