正负数c++刚需求解

【问题描述】

小童刚学会了正负数,他觉得负数就是再正数前面加负号(“-”)。为了更好的看出效果,他决定写个程序,不管输入的是正数还是负数,都输出负数。

输入:一个不为0的数

输出:一个负数(结果保留两位小数)

要求:使用scanf与printf

【样例输入】

-2.5

【样例输出】

-2.50

参考代码:

#include <iostream>
 
int main()
{
    float a;
    scanf("%f",&a);
    if(a<0)
        printf("%.2f",a);
    else
        printf("%.2f",-a);
    return 0;
}

img

#include <stdio.h>

int main()
{
    double x;
    scanf("%lf", &x);
    printf("%.2lf", x > 0 ? -x : x);
    return 0;
}

int main()
{
    float a;
    scanf("%f", &a);
    *(int*)((void*)&a) |= 1 << 31;
    printf("%.2f", a);
    return 0;
}

#include <iostream>
int main()
{
    float num;
    scanf("%f",&num);
    if(num<0)
    printf("%.2f",num);
    else
    printf("%.2f",-num);
}