① 求一道编程题:编写一个函数abs()实现求绝对值的功能
1.求两个数差的绝对值
#include <stdio.h>
int abs(int p,int q)
{
return p>q?p-q:q-p;
}
void main()
{
int m,n,ab;
printf("Input m and n:\n");
scanf("%d%d",&m,&n);
ab=abs(m,n);
printf("所求的两个数差绝对值为:%d\n",ab);
}
2.求输入数字的绝对值
#include <stdio.h>
int abs(int p)
{
return p>0?p:-p;
}
void main()
{
int m,ab;
printf("Input m:\n");
scanf("%d",&m);
ab=abs(m);
printf("所输入的数字的绝对值为:%d\n",ab);
}
② c程序 abs函数
abs函数的原型是:int abs(int x),求x的绝对值,x的类型是int型,所以你程序里2.5-2.7会强制转换成int型,所以结果是0
你可以用double fabs(double x)函数来实现double i=fabs(2.5-2.7)
③ abs函数是什么意思
abs 函数意思为多种编程语言中的一种用于求数据绝对值的函数。
C++也有abs函数。但是,在C++中使用abs函数要注意存在两种版本,一种是在stdlib.h中定义的版本,另一个是在iostream或cmath头文件中定义的。事实上,在stdlib.h文件中定义的是C的函数,而cmath中的是C++版本。这两种版本有明显的差别。
C/C++ :
根据ISO C/C++的标准规定,C语言的abs函数仅仅支持整数的绝对值计算(返回值为整型),必须使用fabs才能获得浮点数的绝对值。
C++的abs则可以自然支持对整数和浮点数两个版本(实际上还能够支持复数),如果参数是整数类型,则返回值为相应的整数类型,如果参数为浮点数,则返回值为相应的浮点数类型。
如果在C++程序中,由于头文件关系,不慎使用了C版本的abs函数,并且输入的是一个有小数的浮点数,那么其行为就可能不符合程序员的预期了,因为在传入函数参数时,浮点数会用截断的方式转换为整数。
而使用C++版本的abs函数时,则需要注意返回值类型(如果用printf进行输出,需要使用正确的格式化输出参数)。
因此,通常建议在C++中使用fabs函数(必要时进行强制类型转换),而不要使用abs函数为好。
以上内容参考网络—Abs函数
④ abs函数的使用方法
一个实数x在数轴上所对应点到原点的距离叫做x的绝对值,数学上用|x|表示.
x<0时,|x|=-x;x=0时,|x|=0;x>0时,|x|=x.
在计算机语言中常用ABS(x)表示x的绝对值,对给定的x,返还值|x|.
例:在VisualFoxPro中
?ABS(2.5)&&输出2.5
?ABS(0)&&输出0
?ABS(-1.5)&&输出1.5
abs函数的使用方法及案例
语法:ABS(number),其中,number表示要计算绝对值的数值。例如,计算下表各数的绝对值。在B1中录入公式“=ABS(A1)”,向下复制公式,即可完成所有数的绝对值提取工作。
在实际工作中,这个函数可以为我们在某种情况提供方便。例如,计算员工的身高差,如下图所示,在B4单元格中录入公式:”=ABS(B2-B3)”,可以看到,ABS返回了两个数差额的绝对值。
一般来说,ABS函数更多的是和其他函数嵌套在一起使用。例如:使用ABS函数配合IF函数可以判断每位学生上次测试成绩与本次测试成绩的进步或退步情况。
在D2单元格中录入公式:“=IF(B2<C2,”进步”,”退步“)&ABS(B2-C2)&”分”,即先用IF函数判断是进步还是退步,再用ABS函数求出两次考试相差分数的绝对值,然后加上单位”分“,向下复制公式,即可以得到我们想要的结果了。
⑤ C51中char型变量取绝对值可否用abs()函数
abs是求整数的绝对值,也就是int
,
fabs是求双精度浮点型的绝对值,也就是double,要求的精度不一样abs和labs是一样的,abs是int,而labs是long
int
⑥ c语言中函数abs 和 fabs有什么区别
区别一:用法不同
1、abs()是对整数取绝对值
2、fabs()是对浮点数取绝对值
区别二:函数原型不同
1、abs的函数原型为:int abs(int x)
2、fabs的函数原型为:double fabs(double x)
区别三:头文件不同
1、abs(): #include <stdlib.h>
2、fabs(): #include <math.h>
C语言特有特点
C语言普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。
其一,广泛性。C 语言的运算范围的大小直接决定了其优劣性。C 语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。此外,C 语言包含了字符型、指针型等多种数据结构形式,因此,更为庞大的数据结构运算它也可以应付。
其二,简洁性。9 类控制语句和32个KEYWORDS是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同 时还能够支持高级编程,避免了语言切换的繁琐。
其三,结构完善。C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显着优势,同时这一特性也使得它能够适应多种不同的编程要求,且执行效率高。
⑦ c语言绝对值用法C语言中的绝对值abs怎么用
C语言中,abs函数是标准库函数。
因此,
如果加载头文件stdlib.h,那么,就不需要再加载math.h
如果加载头文件stdio.h,那么,还需要加载math.h
具体使用时,直接用abs即可,不要大写,不要加括号。
⑧ 单片机编程 用keil C 写程序 怎么样取变量的绝对值
给你举个例子吧
比如说:变量a=0x15,那么他的二进制数就是0001 0101,而其相反数就是最高位变为1或者0
然后代码这么写:
temp=a<<1;//表示a的二进制数左移一位,移除的最高位(即符号位)放到了CY(状态标志位)中,而低位补零,即temp=0010 1010,CY=1
if(CY==1)//如果是正数,则最高位变成1
neg_a=a|(0x80+a);//即0001 0101|(1000 0000+0001 0101)=1001 0101
else
neg_a=a-0x80//即1001 0101-1000 0000=0001 0101