當前位置:首頁 » 編程語言 » 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上跑了程序沒發現這個問題呀