“a是一个带小数的的正数,b是一个带小数的负数”用c语言怎么描述

如题所述

这个问题可以分成两部分,如何描述一个数是带小数的,和如何描述一个数的正负。
一,描述正负。
可以直接用判断语句,利用数学性质,与0比较。
if(a>0)代表该数为正数。
if(b<0)代表该数为负数。

二、判断是否有小数。
在C语言中把float类型强制转换为int型,会只保留整数部分的值。利用这一点,可以通过表达式
a-(int)a来得到浮点数a的小数部分值,然后与0比较即可判断小数部分是否存在。
即 if(a-(int)a != 0)
从理论上看一切正确,但实际应用时有时会出错,是因为浮点数有精度限制,所存的值并不是精确值而是近似值。所以一般来说,当差值小于一个精度时,就认为该值为0了。对于float一般设定精度为1E-6。
所以判断表达式可以写作:
if(fabs(a-(int)a) > 1E-6)

三、综上,题目中要求的表达式就可以写作:
if((fabs(a-(int)a) > 1E-6 && a>0) && (fabs(b-(int)b) > 1E-6 && b<0))
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-16
float a,b;(a最高位为0,b最高位为1)追问

可以不特殊说明就表示出来吗?就是不带括号内的说明

追答

编程序的时候不要括号里面的内容,你只是声明了一个浮点型的数据,以后给它赋值就根据你的需要了,比如说a = 1;就表示带小数的的正数。a = -1 就表示带小数的负数。还有我说的b最高位为1是负数在计算机中的表示规则,实际赋值时直接 -1.2 -4.5 -4。。。。。.就行了

本回答被提问者采纳

“a是一个带小数的的正数,b是一个带小数的负数”用c语言怎么描述
一,描述正负。可以直接用判断语句,利用数学性质,与0比较。if(a>0)代表该数为正数。if(b<0)代表该数为负数。二、判断是否有小数。在C语言中把float类型强制转换为int型,会只保留整数部分的值。利用这一点,可以通过表达式 a-(int)a来得到浮点数a的小数部分值,然后与0比较即可判断小数部分是否...

a是一个带小数的正数,怎么用C语言描述
a>0&&(a-int(a)!=0)b<0&&(b-int(b)!=0)

...A是一个带数学的正数,且B是一个带小数的负数所对应的逻辑表达式...
if (A >= 0) and (B < 0.0) Then

C语言中,如何输出带小数的数?
利用C语言使输出值为小数的编程方法和思想如下:1.首先需要定义一个变量作为后续需要输出的数。这里以定义一个变量a为例。需要注意的是,整型int是不支持转化的。2.然后使用scanf()函数接受从键盘输入的一个数,这样就为变量a成功赋值。3.接着使用printf语句来对数a进行小数化的处理。处理格式为:【%....

C语言中的负数是怎么表示的?
C是这样定义单精度数据的——共有32二进制位,1位符号位+8位阶码(小数点要移动的位数)+23位尾数:最高位是符号位,1表示负数,0表示正数。这里-2.5,所以取1。接着是8位阶码,阶码用移码表示,最高位为符号,0表负、1表正;单精度要在原值上+127实现,即加01111111。把尾数原码接着写在后面...

c语言中一个数是带小数的,怎么才能只输出他的整数?
main(){ float a=3.7;int b=a;printf("%d\\n",b);getch();} 呵呵 一个小例子

c语言里负数和正数如何比较大小
在上述示例中,通过比较运算符判断变量a的值(-5)与变量b的值(10)的大小关系。根据比较结果,打印相应信息。需要注意的是,当比较不同符号的数值时,正数会被认为比负数大。例如,-5小于10。这确保了正确的大小比较结果。总之,在C语言中,比较负数和正数大小主要依赖于比较运算符。通过合理运用这些...

输入一个整数a,如果该数为正数,则输出该数用C语言程序代码怎么表示?
include <stdio.h> int main(){ int a;scanf("%d",&a);if(a>0)printf("%d",a);return 0;}

c语言:int a=0x03,b=0x12,如何输出float型3.12
float就是 浮点型数,就是说的实数,带小数的,所谓浮点,在计算机中就是小数点位置可以变动的数,就比如20.0可以变成2.00*10。C语言里面的那些%d,%f等等都是一个代换符,用以指代某个要输出的数的类型,%d就是整数,%f就是浮点数。开始的时候看起来头疼,久了就明白了,其实就是一个代号而已。...

怎样用c语言编写一个负数的运算程序?
到9结束,共进行10次循环。5、if(a[i]>0) m++ 中表示的是,从循环里找出正数,每次找出的正数进行存储在m里。注意这时if里的数组要注意定义为大于0,目的是为了找出10个整数里的正数。6、最后一点要注意输出结果的那个代码要用到10-m-n,使其算出最后一个要求负数的个数,就完成了。

相似回答