鱼C论坛

 找回密码
 立即注册
查看: 1963|回复: 12

[已解决]请问一下这道题...

[复制链接]
发表于 2017-11-9 11:25:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
int main ()
{
        int a,b,c,d;
        double x=1;
        printf("请输入四个系数");
        while(scanf("%d%d%d%d",&a,&b,&c,&d)==1);{ 
                if(x==1){
                        x=1-(a*x*x*x+b*x*x+c*x+d)/(3*a*x*x+2*b*x+c);
                }
                else 
                        x=x-(a*x*x*x+b*x*x+c*x+d)/(3*a*x*x+2*b*x+c);
        ++x;
        printf("输入Ctrl+Z来结束循环");
        } 
        printf("%f",x);
        return 0;
}

运行不出来,烦请指教学习。
最佳答案
2017-11-9 11:45:40
把scanf里面的==1改成==4
明明是有四个值好吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-9 11:45:40 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
把scanf里面的==1改成==4
明明是有四个值好吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-9 11:46:20 From FishC Mobile | 显示全部楼层
while那一行的分号也去掉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-9 11:47:10 | 显示全部楼层
2017-11-09_114602.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-9 11:54:27 | 显示全部楼层
BngThea 发表于 2017-11-9 11:45
把scanf里面的==1改成==4
明明是有四个值好吗

scanf=1不是有效的意思吗?
是值得个数吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-9 11:58:54 | 显示全部楼层

老师说牛顿迭代法好像不是我这样写的。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-9 11:59:39 From FishC Mobile | 显示全部楼层
scanf里面有几个输入就会返回数字几
你经常看到==1是因为里面只读取一个输入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-9 12:00:27 | 显示全部楼层

是我说的有问题,不能说运行不出来,是需要循环连续输入,最后CtrlZ结束,但是输入一组以后就自动结束了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-9 12:02:26 | 显示全部楼层
BngThea 发表于 2017-11-9 11:59
scanf里面有几个输入就会返回数字几
你经常看到==1是因为里面只读取一个输入

哦哦,现在运行没问题了,请问这道题我这么编写是否正确呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-9 12:14:46 From FishC Mobile | 显示全部楼层
AppleBJTU 发表于 2017-11-9 12:02
哦哦,现在运行没问题了,请问这道题我这么编写是否正确呢?

不知道你具体要干什么,所以代码思路不知道正确与否
语法上最后一个printf里面用%lf
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-9 13:57:39 | 显示全部楼层
BngThea 发表于 2017-11-9 12:14
不知道你具体要干什么,所以代码思路不知道正确与否
语法上最后一个printf里面用%lf

.用牛顿迭代法求方程f(x)=ax^3+bx^2+cx+d=0在1附的实根,系数a,b,c,d的值依次为1,2,3,4由主函数输入,求出根后由主函数输出。
牛顿迭代法迭代公式是:
.
从预先给定的初值(如本例的初值x0=1)出发,反复使用上面这个迭代公式,可以求出方程的根的近似值。


忘了粘题目了。。如果有空的话麻烦您看一下对不对吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-9 14:05:07 From FishC Mobile | 显示全部楼层
具体实现结果你可以自行测试,但是x是double类型,尽量不要进行自增运算
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-11-9 20:05:47 | 显示全部楼层
BngThea 发表于 2017-11-9 14:05
具体实现结果你可以自行测试,但是x是double类型,尽量不要进行自增运算

好的,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-28 20:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表