main()
{
float x;
printf("输入一个浮点数:");
scanf("%f",&x);
if(x<0)
x=-x;
printf("绝对值=%f",x);
}
不需要,没必要,打印语句如果放到if里,不就是只有 x小于0才打印嘛
方法一:
#include <stdio.h>
#include <math.h>//需要引入数学库
int main()
{
float num,abs_num;//定义两个变量一个存放输入的数,一个存放它的绝对值
printf("请输入一个浮点数:");
scanf("%f",&num);//读入数据
if(num>=0)
{
abs_num=num; //当num>=0时,num的绝对值等于本身
}
else if(num<0)
{
abs_num=-num; //当num<0时,num的绝对值等于其相反数
}
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才打印
而题目要求不管正数负数都应该打印