| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 695 人关注过本帖
标题:遇到难题,为什么运行没有错误,但是输入了没有输出
只看楼主 加入收藏
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:9 
遇到难题,为什么运行没有错误,但是输入了没有输出
#include<stdio.h>
#include<math.h>
#define eps
#define N 4
int main(void)
{
    double a,b,f(),h;
    int i,n,m;
    printf("请输入a和b的值:\n");
    scanf("%lf %lf",&a,&b);
    if(f(a)*f(b)>0)
    {
        printf("此方程无解,程序终止!\n");
        return 0;
    }
    do
    {
    m=0;
    x=a;
    h=(a+b)/N;
    for(i=1;i<=n;i++)
    {
        if(fabs(f(x))<eps)
            printf("x=%d",x);
        else
        x=x+h;
    }
    m=m+1;
    h=h/2;
    }
    while(m<=10);
    return 0;
}
    double f(double x)
    {
        double y;
    y=x*x*x-1.8*x*x+0.15x+0.65;
    return y;
    }
   
搜索更多相关主题的帖子: return include 
2012-10-28 19:23
hehongwei152
Rank: 2
来 自:珠海
等 级:论坛游民
帖 子:15
专家分:31
注 册:2012-9-28
收藏
得分:3 
>e:\学习\c++工程\projects\liti\liti\h.c(10): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>e:\vs2010\vc\include\stdio.h(304) : 参见“scanf”的声明
1>e:\学习\c++工程\projects\liti\liti\h.c(19): error C2065: “x”: 未声明的标识符
1>e:\学习\c++工程\projects\liti\liti\h.c(19): warning C4244: “=”: 从“double”转换到“int”,可能丢失数据
1>e:\学习\c++工程\projects\liti\liti\h.c(23): error C2065: “x”: 未声明的标识符
1>e:\学习\c++工程\projects\liti\liti\h.c(23): error C2059: 语法错误:“)”
1>e:\学习\c++工程\projects\liti\liti\h.c(25): error C2181: 没有匹配 if 的非法 else
1>e:\学习\c++工程\projects\liti\liti\h.c(26): error C2065: “x”: 未声明的标识符
1>e:\学习\c++工程\projects\liti\liti\h.c(26): error C2065: “x”: 未声明的标识符
1>e:\学习\c++工程\projects\liti\liti\h.c(26): warning C4244: “=”: 从“double”转换到“int”,可能丢失数据
1>e:\学习\c++工程\projects\liti\liti\h.c(37): error C2059: 语法错误:“数字上的错误后缀”
1>e:\学习\c++工程\projects\liti\liti\h.c(37): error C2146: 语法错误: 缺少“;”(在标识符“x”的前面)
1>e:\学习\c++工程\projects\liti\liti\h.c(37): warning C4552: “+”: 运算符不起任何作用;应输入带副作用的运算符
我简直运行不了。

return 0;
2012-10-28 19:31
xtjopt
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:89
专家分:168
注 册:2012-9-12
收藏
得分:3 
是好多错误啊
2012-10-28 20:19
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
收藏
得分:0 
我用c语言编的,确实没有错误

菜鸟也疯狂
2012-10-28 22:30
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
我也无法编译通过  更别说链接了

DO IT YOURSELF !
2012-10-28 22:31
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
收藏
得分:0 
#include<stdio.h>
#include<math.h>
int main(void)
{
    double i,n,m,step,N,eps,x0,x1,x2,f(double);
    printf("plase input x0= \n");
    scanf("%lf",&x0);

    printf("plase input x1=\n");
    scanf("%lf",&x1);
   
    printf("plase input input N=\n");
    scanf("%lf",&N);

    printf("plase input eps=\n");
    scanf("%lf",&eps);

        if(f(x0)*f(x1)>0)
        {
            printf("此方程无解,程序终止!\n");
            return 0;
        }
        m=0;
    do
    {
        x2=x0;
        step=(x1-x0)/N;
        for(i=0;i<=n;i++)
        {
            if(fabs(f(x2))<=eps)
            {
                printf("x2=%lf",x2);
                return 0;
            }
            
                x2=x2+N;
            
        }
        m++;
        N=N/2;
    }
    while(m<=10);
    return 0;
}
double f(double x)
{
    double y;
    y=(pow(x,3)-1.8*pow(x,2)+0.15*x+0.65);
    return y;
}

菜鸟也疯狂
2012-10-28 22:39
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
收藏
得分:0 
不好意思,由于我的大意,开始的代码发错了,这次没错误啦

菜鸟也疯狂
2012-10-28 22:40
LShang
Rank: 4
来 自:China
等 级:业余侠客
威 望:3
帖 子:183
专家分:258
注 册:2010-12-24
收藏
得分:3 
方程什么的不明白
不过楼主没发现你的变量n还没赋值就使用了吗

学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
2012-10-28 22:52
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
收藏
得分:0 
好的,我又解决了一个问题啊

菜鸟也疯狂
2012-10-28 23:25
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
收藏
得分:0 
#include<stdio.h>
#include<math.h>
int main(void)
{
    double i,n,m,step,N,eps,x0,x1,x2,f(double);
    printf("please input x0= \n");
    scanf("%lf",&x0);

    printf("please input x1=\n");
    scanf("%lf",&x1);
   
    printf("please input input N=\n");
    scanf("%lf",&N);

    printf("please input eps=\n");
    scanf("%lf",&eps);

    printf("please input n=\n");
    scanf("%lf",&n);

        if(f(x0)*f(x1)>0)
        {
            printf("此方程无解,程序终止!\n");
            return 0;
        }
        m=0;
    do
    {
        x2=x0;
        step=(x1-x0)/N;
        for(i=0;i<=n;i++)
        {
            if(fabs(f(x2))<=eps)
            {
                printf("x2=%lf",x2);
                return 0;
            }
            
                x2=x2+N;
            
        }
        m++;
        N=N/2;
    }
    while(m<=10);
    return 0;
}
double f(double x)
{
    double y;
    y=(pow(x,3)-1.8*pow(x,2)+0.15*x+0.65);
    return y;
}
问题已经解决了,谢谢大家

菜鸟也疯狂
2012-10-28 23:32
快速回复:遇到难题,为什么运行没有错误,但是输入了没有输出
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.111056 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved