麻烦高手看一下这个函数错在哪里?谢谢-。-

来源:百度知道 编辑:UC知道 时间:2024/09/21 06:29:07
题目是:建立一个名称为sroot()的函数,返回其参数的二次方根,重载sroot()3次,让她返回整数,长整数和双精度数的二次方根(计算二次方根时,可以用标注库函数sqrt())

我看既然可以用标准库函数。。那其实就直接加载不就行了?我是这样写的。。

#include<iostream.h>

int sroot(int i)
{return sqrt(i);}
long sroot(long l)
{return sqrt(l);}
double sroot(double d)
{return sqrt(d);}

int main()
{
int i = 10
long l = 100000
double d = 5.67
cout<<sroot(i)<<endl;
cout<<sroot(l)<<endl;
cout<<sroot(d)<<endl;
return OK;
}
结果放在C与C++程序设计学习与实验系统里面试验,结果出错了。。。是哪里有问题呢?麻烦大家看一下。谢谢。

1. sqrt这个函数是在math库里的,要include进来:#include <math.h>

2. 主程序里三个变量定义语句结尾缺少分号

3. OK未定义,应该是0

另外,整数的平方根不一定是整数,所以三个函数的返回值类型都设成double比较适宜。