从键盘上输入一个浮点数,输出它的绝对值,是不是应该在if后再加花括号,把两个语句括起来


main()
{
    float x;
    printf("输入一个浮点数:");
    scanf("%f",&x);
    if(x<0)
       x=-x;
    printf("绝对值=%f",x);
}

不需要,没必要,打印语句如果放到if里,不就是只有 x小于0才打印嘛

  • 以下回答由chatgpt基于相关博客总结生成:

    方法一:

    #include <stdio.h>
    #include <math.h>//需要引入数学库
    int main()
    {
        float num,abs_num;//定义两个变量一个存放输入的数一个存放它的绝对值
        printf("请输入一个浮点数:");
        scanf("%f",&num);//读入数据
        if(num>=0)
        {
            abs_num=num; //当num>=0num的绝对值等于本身
        }
        else if(num<0)
        { 
            abs_num=-num; //当num<0num的绝对值等于其相反数
        } 
        printf("%f的绝对值是%f",num,abs_num);//输出num和它的绝对值
        return 0;
    }
    

    方法二:

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        float num,abs_num;
        printf("请输入一个浮点数:");
        scanf("%f",&num);
        abs_num=abs(num);//abs是求绝对值的函数可直接调用
        printf("%f的绝对值是%f",num,abs_num);
        return 0;
    }
    

    在使用if语句时,如果后面只有一条语句可以不用花括号将两个语句括起来,但是为了避免混淆,最好写上花括号。如果后面有多条语句,那一定要用花括号括起来。

不可以加括号,否则只有x<0才打印
而题目要求不管正数负数都应该打印