求助~求大神们纠错
本帖最后由 elegie 于 2019-5-20 08:38 编辑#include<stdio.h>
#include<math.h>
int main()
{
int f(int m, float x);
int n;
float x;
scanf("%d %f", &n, &x);
printf("%.3f", f(n, x));
system("pause");
return 0;
}
int f(int m, float x)
{
float c;
if (m == 1)c = sqrt(1 + x);
else c = sqrt(f(m*1.0 - 1, x) + m * 1.0);
return(c);
} 一个很明显的错误就是你的f函数,返回值是int的! 报什么错 TOP_LK 发表于 2019-5-20 13:32
报什么错
输出答案一直是0.000 #include<stdio.h>
#include<math.h>
double f(int n, double x)
{
int i;
for (i=1;i<=n;++i){
x=sqrt(i+x);
}
return x;
}
int main(){
int T;
scanf("%d",&T);
int i,n;
double x,ret;
for (i=0;i<T;++i){
scanf("%d %lf",&n,&x);
ret=f(n,x);
}
for (i=0;i<T;++i){
printf("%.3f\n",ret);
}
} #include<stdio.h>
#include<math.h>
double fun(int n,double x);
int main()
{
int T,n;
double x;
printf("please input T:");
scanf("%d",&T);
double result;
printf("please input data of each row:\n");
for(int i=1;i<=T;i++)
{
scanf("%d %lf",&n,&x);
result=fun(n,x);
}
printf("the result is:\n");
for(int i=0;i<T;i++)
{
printf("%.3lf\n",result);
}
return 0;
}
double fun(int n,double x)
{
double result=sqrt(1+x);
for(int i=2;i<=n;i++)
{
result=sqrt(i+result);
}
return result;
}
页:
[1]