麻烦高手看一下这个函数错在哪里?谢谢-。-
来源:百度知道 编辑: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++程序设计学习与实验系统里面试验,结果出错了。。。是哪里有问题呢?麻烦大家看一下。谢谢。
我看既然可以用标准库函数。。那其实就直接加载不就行了?我是这样写的。。
#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比较适宜。