怀特1 2023-10-17 20:33 采纳率: 25%
浏览 7

输出方程的根 答案保留两位小数

img

img

答案需要保留两位小数,请各位帮忙看看代码是哪里有问题
用%d输出没问题 但一保留小数全是0

  • 写回答

2条回答 默认 最新

  • LLZWHS 2023-10-17 20:46
    关注

    运算中使用浮点型常量,或者将整型变量赋值给浮点型变量。这样会导致隐式类型提升,将整型转换为浮点型。

    你定义的全是整型变量,如果不用强制类型转换,需要在运算过程中使用浮点型常量比如乘以个1.0,才能将结果转换成浮点数,从而实现保留小数

    
    #include <stdio.h>
    #include <math.h>
    
    int main() {
        int a = 0;
        int b = 0;
        int c = 0;
        double x, y;
    
        printf("请输入a、b、c的值:");
        scanf("%d %d %d", &a, &b, &c);
    
        int discriminant = b * b - 4 * a * c;
    
        if (discriminant > 0) {
            x = (-b + sqrt(discriminant)) / (2 * a);
            y = (-b - sqrt(discriminant)) / (2 * a);
        } else if (discriminant == 0) {
            x = y = -b / (2.0 * a);
        } else {
            printf("方程无实根\n");
            return 0;
        }
    
        printf("方程的解为: %.2f, %.2f\n", x, y);
    
        return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月17日

悬赏问题

  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 NRF24L01能发送但是不能接收
  • ¥15 想问一下这种情况怎么解决呢(关键词-file)
  • ¥15 python Flassk 模块部署 服务器时报错
  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存