输出一元二次方程的两个解

概要

题目描述

编程计算并输出一元二次方程ax^2+bx+c=0的两个实根,其中a、b、c的值由用户从键盘输入,假设a、b、c的值能保证方程有两个不相等的实根(即b^2-4ac>0)。

输入

输入三个实数,以空格隔开。

输出

按从大到小的顺序输出两个实根,每个数据占7列、小数点后保留两位小数,不足7列右对齐

样例输入 复制
2 6 1
样例输出 复制
  -0.18  -2.82

整体架构流程

#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>  
#include<math.h> 
int main() {
    int a, b, c;// 输入三个整数a,b,c  
    scanf("%d %d %d", &a, &b, &c); // 输入整数  
    double result1, result2;//使用double类型,确保保留两位小数
    result1 = ( - b + sqrt(b * b - 4 * a * c) ) / (2 * a);//计算一元二次方程的两个解
    result2 = ( - b - sqrt(b * b - 4 * a * c) ) / (2 * a);
    if (result1 < result2) {//如果result1小于result2,则交换两者,确保由大到小输出
        int temp = result1;
        result1 = result2;
        result2 = temp;
    }
    printf("%7.2lf%7.2lf", result1, result2);//右对齐输出,保留两位小数,占7列
    return 0;
}

小结

1.如何右对齐,占7列输出?使用printf("%7.2lf%7.2lf", result1, result2);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值