C语言题求解。计算绝对值函数。 (if语句)?
#include stdio.h
int main()
{
int a;
scanf(“%d”,a);
if(a0)
a=-a;
printf(“%d\n”,a);
return 0;
}
c语言中绝对值怎么求?
//求绝对值
#include iostream
#include iomanip
#includecmath
#define PI 3.1415927
using namespace std;
int main()
{ //C++求绝对值:如果是整形的,就是abs(),如果是浮点型的,是fabs()
double r;
while(cinr){
coutsetprecision(2)std::fixedfabs(r)endl;
}
return 0;
}
扩展资料:
c语言中取绝对值的函数
不同类型的数据使用不同类型的绝对值函数:
1、整型:
int abs(int i) //返回整型参数i的绝对值 12
2、复数:
double cabs(struct complex znum) //返回复数znum的绝对值 1
3、双精度浮点型:
double fabs(double x) //返回双精度参数x的绝对值 1
4、长整型:
long labs(long n) //返回长整型参数n的绝对值
C语言求绝对值
分类: 电脑/网络 程序设计 其他编程语言
问题描述:
求一个数的绝对值.
main()
{
main()
{int x,y;
scanf(“%d”,x);
if (x0) y=-x;
printf (“%d\n”,y);
if (x0) y=x;
printf (“%d\n”,y);
}
假如,输入-10.结果为:10,10
输入10,结果就为:4211576,10
我就是想求得一个数的绝对值,为什么每次都得到两个结果.实在想不通.
解析:
有两个printf 就会输出两次,
你输入-10,执行了y=-x; printf (“%d\n”,y); printf (“%d\n”,y); 三条语句,就是y=10和打印2次y。
你输入10,执行了printf (“%d\n”,y); y=10;printf (“%d\n”,y); 三条语句,第一个printf的y没有赋值,所以从内存直接读取值4211576。
如果不用ABS函数,可以这样写
main()
{int x,y;
scanf(“%d”,x);
y=x;
if (x0) y=-x;
printf (“%d\n”,y);
}