当前位置:首页 » 编程语言 » c语言比大小含负数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言比大小含负数

发布时间: 2022-09-25 11:02:48

‘壹’ c语言为什么不能比较负数大小比较三个数的最大者

你float类型的还是用%f吧

#include<stdio.h>
voidmain()
{
floata,b,c,max,temp;
printf("输入3个数. ");
scanf("%f,%f,%f",&a,&b,&c);
temp=a>b?a:b;
max=temp>c?temp:c;
printf("最大为:%f",max);
}



希望能帮到你,求采纳

‘贰’ 在c语言中如何比较负数的大小

#include<stdio.h>

voidmain(void)

{

inta,b,c,max;

printf("inputthreerealnumbers: ");

scanf("%d%d%d",&a,&b,&c);

if(a>=b)

max=a;

else

max=b;

if(max>=c)

printf("%d",max);

else

printf("%d",c);

getch();

return0;

}

(2)c语言比大小含负数扩展阅读

C语言signedchar型表示的数值范围-128~127

-0和+0其实是同一个数字,因此原码中0b10000000和0b00000000都表示数字0。现在补码下的0只有一个表示方式:0b00000000,二进制码0b10000000就多余出来了。

浪费是可耻的,多出的二进制码0b10000000不能白白丢弃。若考虑数字0的二进制码0b00000000,从它的符号位来看,计算机应该是将其当做“正数”的,0~127是128个“正数”。

现在考察多出的二进制码0b10000000,从它的符号位来看,把它当做负数是合情合理的,事实上在C语言中,它表示-128,从-128到-1,恰好是128个“负数”。

‘叁’ C语言比较10个数的大小 里面有负数就不行

#include <stdio.h>

int main()

{

int a[10];

int min,max,i;

printf("请输入10个数字:\n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

max=min=a[0];

printf("\n");

for(i=0;i<10;i++)

{ if(a[i]>max)max=a[i];

if(a[i]<min) min=a[i];
}

a[0]=max;

a[9]=min;

for(i=0;i<10;i++)

printf("%d ",a[i]);

printf("\n");

return 0;

}
//输入负数的时候,负号和数字之间不要有空格

‘肆’ c语言比较数字大小

#include<stdio.h>
intmain(){inta,b,c;
scanf("%d%d",&a,&b);//避免指定用逗号分隔输入,容易出错,默认空格间隔
if(a>b)c=a;elsec=b;//也可以写:c=(a>b)?(a):(b);
printf("c=%d ",c);
return0;
}

‘伍’ c++中 全是负数的话 怎么比较大小

#include<iostream.h>

void main()
{
int x = -10;
int y = -20;
int z =-30;//定义三个负数
cout<<(x>y:false?true)<<endl;//三目运算符比较两个数大小,前面大就false,后面大就true,下同
cout<<(y>z:false?true)<<endl;
cout<<(z>x:false?true)<<endl;
}

‘陆’ 在c语言中如何比较负数的大小

C语言里比较正负数没关系的啊。。。 只要你定义的时候是定义成float就好了 void main(void){float a,b;printf("请输入两个数:\n"); scanf("%f%f",&a,&b);if(ab){printf("较大的数是",a);}else{printf("较大的数是",b);}}

‘柒’ c语言正负数比大小。为什么int类型rdata3是正数,if(rdata3<0)却是true

你这个例子中,rdata3是int类型,但是是由rdata2赋值的。rdata2的类型是Uint32,这也就意味着无符号到有符号数的转换。一般而言这种等长(4字节)数值类型转换都是直接内存拷贝的,例如数字0xFFFFFFFF在无符号数中表示正数(2^32 - 1),而变成有符号数之后,首位1会被当成负号,也就变成负数了。
你说的类型提升指的应该是不同长度类型转换时引入的,比方说一个16位的数0xFFFF,无符号数拉长到32位就是0x0000FFFF,有符号数就是0xFFFFFFFF(首位拷贝)。有符号数的自动扩充是为了保证补码值相等。

‘捌’ 用C语言写了个比较大小的代码但是其中b赋值为负数的时候输出竟然是b=0

这是vc++6.0上测试输出的结果,两个输入的数据之间要用逗号隔开的。

‘玖’ C语言中负数和负数,负数和正数如何比较大小

我在keil上跑了程序没发现这个问题呀