Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2545787
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2010-08-06 15:58:55

    求方程的根,用三个函数分别求出当 b * b - 4 * a * c 大于零,等于零,小于零的根,并输出结果。从主函数输入a,b,c的值。
    上初中的时候,我们已经学过了求方程的解法。根据题意,需要先求出b*b-4*a*c的值。然后根据判断再调用函数。代码如下:
 

#include <stdio.h>
#include <math.h>

void shigen(int,int,int);
void denggen(int,int,int);
void xugen(int,int,int);
int main(int argc, int *argv[])
{
    int a,b,c;
    float gen;
    printf("input a,b,c:");
    scanf("%d,%d,%d",&a,&b,&c);
    printf("\n");
    
    gen = b * b - 4 * a * c;
    
    if (gen > 0)
    {
            shigen(a,b,gen);
    }
    else if (gen == 0)
    {
         denggen(a,b,gen);
    }
    else
    {
        xugen(a,b,gen);
    }
    
    system("pause");
    return 0;
}

void shigen(int a, int b,int sqrt_value)
{
      float x1,x2;
      x1 = (-1 * b + sqrt(sqrt_value))/(2 * a);
      x2 = (-1 * b - sqrt(sqrt_value))/(2 * a);
      
      printf("x1 = %f,x2 = %f\n",x1,x2);
}

void denggen(int a, int b, int sqrt_value)
{
     float x1;
     x1 = (-1 * b) / (2 * a);
     printf("x1 = x2 = %f",x1);
}

void xugen(int a, int b, int sqrt_value)
{
     float x1,x2;
     x1 = (-1 * b) / (2 * a);
     x2 = sqrt(-1 * sqrt_value) / (2 * a);
     printf("xugen x1 = %.3f + %.3fi ,x2 = %.3f - %.3fi",x1,x2,x1,x2);
}


阅读(983) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~