㈠ 在c語言編程中float類型怎麼比較大小
在編程時比較大於或小於時,與整數的比較方法相同。只是比較實數的大小時,由於一般情況下一個實數不能用有限位的二進製表示,所以會存在誤差。當我們要比較二個實數是否相等時,不要使用==的比較運算符,而是用二個實數差的絕對值是否小於一個我們限定的值。(比如在比較二人的收入差別時,只要差別小於0.001元,就可認定他們的收入相等了)。
使用實數的絕對值函數時,要包含math.h頭文件。
#include
<math.h>
float
x,y;
........
if(fabs(x-y)<1e-6)printf("x=y\n");
//根據場合,需要時也可使用<1e-8等等
else
if(x>y)printf("x>y\n");
else
printf("x<y\n");
㈡ c語言編程,這個比較數字大小的邏輯哪裡錯了
計算最大值之後,inter1是最大值,最大值跟inte2比較結果必然是有問題的。問題主要是你沒保存所有數據。一般來說,實現數據交換但是要不影響本身數據,都是通過一個中間變數temp實現交換,可以保證數據不錯。你這個明顯就是中間丟掉了inter1。
其次,比較大小,按你的代碼量,用冒泡法加數組更簡單,到時候直接取a[0],a[n-1]就是
㈢ C語言編程 比較兩個數大小
這問題有點空,如果說是兩個數
int
a,int
b
;
比較大小可以用:
a>b?a:b;
即若a>b就返回a,不是就返回b
㈣ matlab GUI 編程功能:實現比大小輸出!高手賜教!
1。這個更多是數學問題吧,你能搞清楚定義,編程序只是幾行而己。這個我手頭沒有定義,懶得查了……抱歉抱歉~~~問問同學吧
2。簡單說一個:
temp = -2 + sqrt(6)*randn(100, 1);
r_matrix = reshape(temp, 10, 10);
FID=fopen('r_matrix.txt','w');
fprintf(FID, '%6.2f %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f\n',r_matrix);
fclose(FID);
clear all;
r_matrix = load('r_matrix.txt');
rank(r_matrix)
3.
(1).If y == 1,
fxy = sin(x);
elseif y == 2,
fxy = cos(x);
else
fxy = sin(x).*cos(x);
end
switch y
case 1
fxy = sin(x);
case 2
fxy = cos(x);
otherwise
fxy = sin(x).*cos(x);
end
另外一個一樣的,你自己照葫蘆畫瓢吧。
(2)
if x <= a,
fx = 0;
elseif x <=b,
fx = (x-a)/(b-a);
elseif x <= c,
fx = 1;
elseif x <= d,
fx = (x-d)/(c-d);
else
fx = 0
end
原則上講switch/case只允許對條件進行『=』的比較,不允許比大小,所以這一段用switch不能實現。除非用一種很極端的方式:
switch eval(char('x<=a')),
case 1, fx = 0;
case 0, switch eval(char('x<=b')),
case 1, fx = (x-a)/(b-a);
case 0, switch eval(char('x<=c')),
case 1, fx = 1;
case 0, switch eval(char('x<=d')),
case 1, fx = (x-d)/(c-d);
case 0, fx = 0;
end
end
end
end
意思就是說,比較是否為真,如果是,則賦值,如果不是,再比較是否為真如果是則賦值,如果不是再比較。。。如此繼續下去,不過我懷疑你的老師是不是自己知道這個用法?或者你可以考你的老師一下,看看他是不是也這么想的?
4. 不知道你要干什麼,最簡單的?直接輸入GUIDE就可以創建最簡單的,你就在命令窗口裡打「GUIDE」,出來GUI的界面,你隨便創建一個就可以了咯,全是滑鼠操作,我怎麼寫出來?你在窗口裡輸入"doc guide",看看幫助文檔就會了。
這些都是最基礎的東西,好好用心吧,這些玩不轉,沒法用matlab的
另外,團IDC網上有許多產品團購,便宜有口碑
㈤ 在C語言中是不是任意的同類型指針都可以比較大小,為什麼
指針變數無非就是一個表示內存地址的長整數而已,當然可以比較。指向同一個數組時,兩個指針的大小就表示誰指向的元素靠前或靠後。如果不是指向同一個數組,比較大小就只能看出誰指向的內存空間地址較小,沒什麼意義。
對變數a的訪問有兩種方式:
一是直接按地址0x065FDF4H找到a的存儲單元,從而對變數a進行訪問;
二是按系統為p=&a分配的地址先找到p=&a,然後根據p,&a的值(即變數a地址0x065FDF4H)找到變數a在內存中的存儲單元,從而對變數a進行訪問。對於前一種訪問方式稱為直接訪問方式,後一種訪問方式稱為間接訪問方式。
(5)編程比較大小為什麼不能直接比擴展閱讀
訪問變數,首先應找到其在內存的地址,或者說,一個地址唯一指向一個內存變數,如果將變數的地址保存在內存的特定區域,用變數來存放這些地址,這樣的變數就是指針變數,通過指針對所指向變數的訪問,也就是一種對變數的「間接訪問」。
設一組指針變數pa、pb、px、py、pm、pch1、pch2,分別指向上述的變數a、b、x、y、m、ch1、ch2,指針變數也同樣被存放在內存,盡管所指向的變數類型不同,但是這些指針變數所佔內存空間都是2個位元組,而與所指向變數的類型無關。
㈥ C++編程出錯 不能比較abc大小
#include<iostream>
usingnamespacestd;
voidswap(int&a,int&b)
{
intt=a;a=b;b=t;
}
intmain()
{
inta,b,c,t;
cin>>a>>b>>c;
if(a<b)
swap(a,b);//交換兩個數
if(a<c)//前兩個判斷保證a最大
swap(a,c);
if(b<c)//保證b第二大
swap(b,c);
cout<<a<<'>'<<b<<'>'<<c<<endl;
return0;
}
㈦ C語言編程對字元串進行比較大小
您好,如果只是問個演算法,我可以告訴你,但是如果是你要全部 ,那就不可以了,作業要自己做的啊!
如果你要用戶輸入2個字元串作比較的話
可以用「 」來區分字元串1與字元串2
然後把2個字元串存到2個數組里去比
int i=1,j=1;
char a[20],b[20]
if (c=getchar()!=" ") then
{ a[i]=c;
i++;
}
else
{
b[j]=c;
j++;
}
然後用for循環一個一個比他們的大小就可以了,如果有一個大了就return 大的值,如果遇到一個數組為空了,也return 另外一個字元串就好了。