| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1910 人关注过本帖
标题:[求助]求二次函数根的程序出错了,刚入门同学的求教。
取消只看楼主 加入收藏
灰熊和蜥蜴
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-4-25
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:2 
[求助]求二次函数根的程序出错了,刚入门同学的求教。
#include<stdio.h>   //请帮我看看,这程序哪里有问题。。才导致下面的运行结果。这是求ax^2+bx+c=0的根的程序

#include<math.h>
    void fun1(double a,double b,double c,double d)      //Δ=0的情况
    {
        double ans=-b/(2*a);
        printf("b^2-4*a*c==0,x1=x2=%lf.\n",ans);
        }
 void fun2(double a,double b,double c,double d)  //Δ>0的情况
 {
     double ans1,ans2;
     ans1=(-b-sqrt(d))/(2*a);
     ans2=(-b-sqrt(d))/(2*a);
     printf("b^2-4*a*c>0,x1=%lf,x2=%lf.\n",ans1,ans2);
 },
 void fun3(double a,double b,double c,double d)  //Δ<0的情况,输出复数解
 {
     double real,imar;
     real=-b/(2*a);
     imar=sqrt(-d)/(2*a);
     printf("b*b-4*a*c<0,x1=%lf+%lfi,x2=%lf-%lfi.\n",real,imar,real,imar);
 }
 int main()      //我感觉是不是主函数的问题
 {
     void fun1(double a,double b,double c,double d);
     void fun2(double a,double b,double c,double d);
     void fun3(double a,double b,double c,double d);
     double a,b,c,d;
     printf("please intput a,b,c.\n");
     while(scanf("%lf,%lf,%lf",&a,&b,&c)!=EOF)      
        {
         d=b*b-4*a*c;
         if(d==0)fun1(a,b,c,d);
         else if(d>0)fun2(a,b,c,d);
         else fun3(a,b,c,d);
         printf("please enter put a,b,,c.\n");
     }
}

图片附件: 游客没有浏览图片的权限,请 登录注册
           //无限循环,用的DEV编译器

[此贴子已经被作者于2016-5-25 16:24编辑过]

2016-05-25 16:21
灰熊和蜥蜴
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-4-25
收藏
得分:0 
回复 2楼 wanglianyi1
能运行啊,我都发图了。
2016-05-25 17:24
灰熊和蜥蜴
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-4-25
收藏
得分:0 
回复 5楼 亲琪琪
确实好了。但是我希望可以循环输入的。用while语句怎么不行?
2016-05-26 19:29
快速回复:[求助]求二次函数根的程序出错了,刚入门同学的求教。
数据加载中...
 
   



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

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