救救孩子吧!编译环境问题吗?总是出错,怎么搞

最近我很是苦恼,我不知道怎么回事我写的代码没有错误但是呢我发现我赋值给它,但是它输出的值却不是我赋的值,怎么解决这个问题呀。各位大佬!!!
心态崩了,,,我这里有份代码以及它运行的结果截图,大家帮帮忙,看下我该怎么解决可以吗?
谢谢大家!!!

/* Note:Your choice is C IDE */
//简单迭代法
#include "stdio.h"
#include<math.h>
double picard(double x);
void main(void)
{
 double epsilon,x0,x1;
 long i,maxi;
 printf("\n请输入x的精度要求:");
 scanf("%lf",&epsilon);
 printf("\n请输入迭代初值:");
 scanf("%lf",&x1);
  printf("%lf",x1);
 printf("\n请输入最大迭代次数:");
 scanf("%ld",&maxi);
  printf("%ld",maxi);
 for(i=0;i<maxi;i++)
 {
 x0=x1;
 x1=picard(x0);
 if(fabs(x1-x0)<=epsilon)
 break;
 }
 if(i<maxi)
  printf("\n方程f(x)=0的根x=%lf.",x1);
  else printf("\n迭代次数已超过上限。");
  }
  double picard(double x)
  {
  return (pow((9*x+53),1/4));   
}

 

虽然我不知道你这代码是要干嘛,但是我猜测问题在于

return (pow((9 * x + 53), 1 / 4));

这里的1/4得出的结果是0,你得强转一下double。

【望采纳】

谢谢,真的可以出结果了,谢谢

您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632