24小时热门版块排行榜    

查看: 977  |  回复: 11

schelling

金虫 (著名写手)

[求助] c语言求助

简单迭代法,程序如下,运行不出结果怎么破
#include<stdio.h>
#include<math.h>
double fun(double n)
{
        double m,C;
        C=1/3;
        m=pow(n+1,C);
        return(m);
}
void main()
{
        int i=0,n;
        double x0,x1;
        printf("输入循环次数n初始值x0\n";
    scanf("%d%f\n",&n,&x0);
    while(i<n)
        { x1=fun(x0);x0=x1;i++;}
    printf("x*=%f\n",x1);

}
回复此楼
历尽沧海桑田,不变如故
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

lumingyi

铁虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
schelling: 金币+10, ★★★★★最佳答案, 谢谢,解决了 2013-10-30 17:28:20
xzhdty: 金币+1, 感谢参与 2013-11-03 16:32:29
#include<stdio.h>
#include<math.h>
double fun(double x0);
int main()
{
    int n;
    double x0,x1;
    scanf("%d%lf",&n,&x0);
    x1=x0;
    while(n--)
    {
        x1=fun(x0);
        x0=x1;
    }
    printf("x=%lf",x1);
    return 0;
}
double fun(double x0)
{
    return (pow(x0+1,1.0/3));
}
梦想需要坚持
8楼2013-10-29 11:02:18
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

Kuango

木虫 (正式写手)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
schelling: 金币+2, 有帮助 2013-10-28 21:09:28
xzhdty: 金币+1, 谢谢参与 2013-11-03 16:32:53
返回了局部变量m,你是是指针(将fun函数参数改成指针类型)
2楼2013-10-28 14:17:22
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

UP19910522

木虫 (小有名气)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
schelling: 金币+1 2013-10-28 21:09:43
xzhdty: 金币+1, 谢谢参与 2013-11-03 16:33:01
不知道楼主想干吗,是仅仅要运行出来结果吗?还是要实现什么目的。
3楼2013-10-28 15:05:52
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

schelling

金虫 (著名写手)

引用回帖:
3楼: Originally posted by UP19910522 at 2013-10-28 15:05:52
不知道楼主想干吗,是仅仅要运行出来结果吗?还是要实现什么目的。

用迭代法求方程x=(x+1)1/3次方的根
历尽沧海桑田,不变如故
4楼2013-10-28 18:01:41
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

programfanny

铁杆木虫 (正式写手)


【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
schelling: 金币+2, ★★★很有帮助 2013-10-30 17:28:45
xzhdty: 金币+1, 谢谢参与 2013-11-03 16:33:12
输入的初值 x0程序接收不了,每次x0都是0.0000,
5楼2013-10-29 05:25:57
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

magnet99

新虫 (初入文坛)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
schelling: 金币+2, ★★★很有帮助 2013-10-30 17:28:54
C=1/3 改成C=1.0/3 试试
6楼2013-10-29 09:57:33
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

虾仁拉面

金虫 (初入文坛)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
schelling: 金币+3, ★★★很有帮助 2013-10-30 17:29:10
整数型变量之间运算会自动取整
所以 1/3 = 0 你的变量C=0
还有 scanf “”里面不用加\n
7楼2013-10-29 11:01:32
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

虾仁拉面

金虫 (初入文坛)

【答案】应助回帖


schelling: 金币+1 2013-10-30 17:29:18
还忘了说 一楼说的也对
定义的函数fun里面 返回值直接写return m即可
9楼2013-10-29 11:03:01
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

自由飞翔_00

银虫 (初入文坛)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
schelling: 金币+3, ★★★★★最佳答案 2013-10-30 18:00:54
1.C=1/3改成1.0/3
2.scanf函数改成 scanf("%d%lf";  
说明:输入不需要加换行符\n,而且double的格式说明符是%lf
呵呵 希望能帮助到你哦
10楼2013-10-29 11:39:40
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 schelling 的主题更新
信息提示
请填处理意见