戳Troye 2021-03-27 20:57 采纳率: 100%
浏览 34
已采纳

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

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

/* 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));   
}

 

  • 写回答

3条回答 默认 最新

  • 猫叔大鸭梨 2021-03-27 22:29
    关注

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

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

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

    【望采纳】

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料