| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1334 人关注过本帖
标题:新手学习:一元二次方程代码不知道问题在哪里?
只看楼主 加入收藏
wsk0722
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-4-22
收藏
 问题点数:0 回复次数:5 
新手学习:一元二次方程代码不知道问题在哪里?
程序代码:
# include <stdio.h>
# include <math.h>

int main(void)
{
    
    double a, b, c;
    double delta;
    double x1, x2;
    char ch;
    
    printf("输入方程的系数:\n");

    printf("a = ");
    scanf("%lf", &a);
    
    printf("b = ");
    scanf("%lf", &b);
    
    printf("c = ");
    scanf("%lf", &c);
    
    
    delta =b*b-4*a*c;
    
    if (delta > 0)
    {
        x1 = (-b+sqrt(delta))/(2*a);
        x2 = (-b-sqrt(delta))/(2*a);
        printf("有两个答案, x1 = %lf , x2 = %lf\n", x1, x2);
    }
    else if (delta == 0);//这里多了一个分号
    {
        x1 = x2 = (-b)/(2*a);
        printf("唯一答案, x1 = x2 %lf\n", x1 ,x2);
    }
    else
    {
        printf("无答案\n");
    }
    
    return 0;
}


[此贴子已经被作者于2016-4-22 17:56编辑过]

2016-04-22 17:41
wsk0722
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-4-22
收藏
得分:0 
找到原因了,33行多了一个分号,这个东西要好仔细啊

程序代码:
# include <stdio.h>
# include <math.h>

int main(void)
{
    
    double a, b, c;
    double delta;
    double x1, x2;
    char ch;
    do
    {
        printf("输入方程的系数:\n");
        
        printf("a = ");
        scanf("%lf", &a);
        
        printf("b = ");
        scanf("%lf", &b);
        
        printf("c = ");
        scanf("%lf", &c);
        
        
        delta =b*b-4*a*c;
        
        if (delta > 0)
        {
            x1 = (-b+sqrt(delta))/(2*a);
            x2 = (-b-sqrt(delta))/(2*a);
            printf("有两个答案, x1 = %lf , x2 = %lf\n", x1, x2);
        }
        else if (delta == 0)
        {
            x1 = x2 = (-b)/(2*a);
            printf("唯一答案, x1 = x2 %lf\n", x1 ,x2);
        }
        else
        {
            printf("无答案\n");
        }
        
        printf("想继续吗(y/n):");
        scanf(" %c", &ch);
    }
    while ('y' == ch || 'Y' == ch);
    return 0;
}


[此贴子已经被作者于2016-4-22 17:55编辑过]

2016-04-22 17:49
nupt_陈小二
Rank: 2
等 级:论坛游民
帖 子:13
专家分:36
注 册:2016-4-17
收藏
得分:0 
把打印唯一答案里的x2去掉吧,看着难受。
2016-04-22 23:25
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:0 
回复 2楼 wsk0722
输入方程系数那里还可以继续优化下,考虑下如果输入了字符怎么办?输入小数了会不会有错误?
在输入方程系数之前有没有用printf来输出提示用户输入系数的格式或者数据类型呢?
程序可不可以重复运行呢?知道用户选择退出之后。
开始写完了程序能实现具体的功能后,可以在细节方面在继续优化,你会有所收获的哦。
2016-04-23 09:25
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:0 
回复 2楼 wsk0722


[此贴子已经被作者于2016-4-23 09:28编辑过]

2016-04-23 09:27
wsk0722
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-4-22
收藏
得分:0 
回复 4楼 wanglianyi1
谢谢,继续努力中
2016-04-23 16:40
快速回复:新手学习:一元二次方程代码不知道问题在哪里?
数据加载中...
 
   



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

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