| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 879 人关注过本帖
标题:用结构体求一元二次方程
只看楼主 加入收藏
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
结帖率:95.45%
收藏
已结贴  问题点数:15 回复次数:10 
用结构体求一元二次方程
程序代码:
#include "stdafx.h"
#include<stdio.h>
#include<math.h>
struct EquationInfoStru
{
    double a;    //方程系数1
    double b;    //方程系数2
    double c;  //方程系数3
int nRootStatus;  //方程根的不同情况
    double dRoot1;//方程的第一个根
double dRoot2;//方程的第二个根
};   
int root(struct EquationInfoStru  pEquaInfo)
{
    EquationInfoStru a;
    double p= pEquaInfo.b*pEquaInfo.b-4*pEquaInfo.a*pEquaInfo.c;
    if(p>0)
    {
      a.nRootStatus=2;
      a.dRoot1=(-pEquaInfo.b+sqrt(p))/(2*pEquaInfo.a);
      a.dRoot2=(-pEquaInfo.b-sqrt(p))/(2*pEquaInfo.a);
    }
    if(p=0)
    {
      a.nRootStatus=1;
      a.dRoot1=(-pEquaInfo.b)/(2*pEquaInfo.a);
      a.dRoot2=(-pEquaInfo.b)/(2*pEquaInfo.a);
    }
    if(p<0)
    {
      a.nRootStatus=2;
      a.dRoot1=(-pEquaInfo.b+sqrt(-p))/(2*pEquaInfo.a);
      a.dRoot2=(-pEquaInfo.b-sqrt(-p))/(2*pEquaInfo.a);
    }
    printf("共有%d个根,分别为%lf和%lf",a.nRootStatus,a.dRoot1,a.dRoot2);
    return 0;
}
int main()
{
    EquationInfoStru pEquaInfo={0,0,0,0,0,0};
    printf("输入方程的三个系数\n");
    scanf("%lf%lf%lf",pEquaInfo.a,pEquaInfo.b,pEquaInfo.c);
    root(pEquaInfo);
    return 0;
}
用结构体求一元二次方程,怎么修改以上程序,怎么在结构体中定义的double中输出虚根,求各位大神指教
搜索更多相关主题的帖子: 结构体 color 
2014-12-12 20:08
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
    if(p=0)
    {
      a.nRootStatus=1;
      a.dRoot1=(-pEquaInfo.b)/(2*pEquaInfo.a);
      a.dRoot2=(-pEquaInfo.b)/(2*pEquaInfo.a);
    }

一看这种代码,就知道你完全没调试过的。

授人以渔,不授人以鱼。
2014-12-12 20:25
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
你这样的处理代码,设计结构体没什么用处,跟不用没差别。

授人以渔,不授人以鱼。
2014-12-12 20:27
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
调试了,没报错就是运行不出来

一片落叶掉进了回忆的流年。
2014-12-12 20:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
以下是引用诸葛欧阳在2014-12-12 20:27:45的发言:

调试了,没报错就是运行不出来

还说有调试,无语。我特意描红的部分,你意识到有问题吗?这个分支你测试过吗?如果连任何结果都没有,那就不叫有调试,是完全无法工作。调试,是能动起来,但有毛病,再寻找错误所在的过程。

授人以渔,不授人以鱼。
2014-12-12 20:30
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
题目要求使用结构体存放变量

一片落叶掉进了回忆的流年。
2014-12-12 20:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
要求用结构体存放变量,针对方程系数设计结构体的作用是不大的,合理的结构体是方程的解用结构体(那对应坐标系的点,复数是向量模型),这才应该是题目的要求。我没看过你的题目怎么说,但照道理讲,是这样理解,如果题目不是这样理解,这题就出的次了。

授人以渔,不授人以鱼。
2014-12-12 20:37
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
这道题就是为了让我们熟悉结构体的用法,没有其他含义

一片落叶掉进了回忆的流年。
2014-12-12 20:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
哦~

授人以渔,不授人以鱼。
2014-12-12 20:45
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
程序不能运行,但它也不报错

一片落叶掉进了回忆的流年。
2014-12-12 20:48
快速回复:用结构体求一元二次方程
数据加载中...
 
   



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

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