描述
计算一个数字的立方根,不使用库函数。
保留一位小数。
输入描述:
待求解参数,为double类型(一个实数)
输出描述:
输入参数的立方根。保留一位小数。
示例1
输入:
216
复制
输出:
6.0
复制
#include <stdio.h>
int main(void)
{
double a = 0;
double num = 0;
int i, j, k;
scanf("%lf", &num);
if(num < 0)
{
i = -1;
num = -num;
}
else if(num == 0)
{
printf("0.0\n");
}
else
{
i = 1;
}
// 注意这个或判断,对应于小于1的情况
for(a=0; a<num || a<=1; a=a+0.1)
{
if(a*a*a >= num)
{
break;
}
}
if(a*a*a-num < num-(a-0.1)*(a-0.1)*(a-0.1))
{
printf("%.1lf\n", a*i);
}
else
{
printf("%.1lf\n", (a-0.1)*i);
}
return 0;
}