比較大小演算法
㈠ c語言中三個數比較大小
#include<stdio.h>
//#include<windows.h>
voidmain()
{
intmax3(inta,intb,intc);
inta,b,c,result;
printf("Pleaseenterthreenumber: ");
scanf("%d,%d,%d",&a,&b,&c);
result=max3(a,b,c);
printf("Themaxofthreenumberis%d: ",result);
//system("pause");
}
intmax3(inta,intb,intc)
{
intx,z;
if(a>b)x=a;
elsex=b;
if(x>c)z=x;
elsez=c;
returnz;
}
(1)比較大小演算法擴展閱讀
C語言:三個數由小到大排序
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta,b,c,t;//定義4個基本整型變數a,b,c,t;
printf("Pleaseinputa,b,c:");
scanf("%d%d%d",&a,&b,&c);
//如果a大於b,藉助中間變數t實現a、b值互換;
if(a>c)
{
t=a;
a=b;
b=t;
}
//如果a大於c,藉助中間變數t實現a、c值互換;
if(a>c)
{
t=a;
a=c;
c=t;
}
//如果b大於c,藉助中間變數t實現b、c值互換;
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("theorderofthenumberis: ");
printf("%d,%d,%d",a,b,c);//輸出a,b,c的值順序輸出;
system("pause");
return0;
}
㈡ 求一個比較大小的java演算法
1.是的
2.a-可以直接求和,b-利用近似公式
3.近似公式為e=(1+1/n)^n,n->無窮大
4.這兩個公式都需要運算n到足夠大來減少誤差
假如你運算到n=k滿足精度需要了
那麼你首先要保證當n=k-1時算出的值與n=k的值差別小於0.0001
假如需要考慮截斷誤差,那麼你就要考慮到任何一個1/n或者1/n!的形式的截斷誤差,以及運算中每一步的累計誤差,都是可以計算的
從累積誤差的角度來說,第一個方法較優
因為每一個求和項目都是整數的倒數,只發生一次截斷
之後的誤差計算直接將最大誤差可能求和就可以了
而且每一次迭代可以應用上一次的結果,效率較高
但是缺點是當n比較大的時候,n!也會是一個比較大的數,n的類型定義得不好會溢出
第二個方法就需要計算一次截斷誤差,並且計算n次方的誤差累積
㈢ java 比較大小演算法
排序用建議實現comparable類吧 自定義排序比較的參數 否則對象是沒法比較大小的 只能比較是否相等
class One implements Comparable{
int age;
@Override
public int compareTo(Object o) {
// TODO Auto-generated method stub
One one = (One)o;
if(one.age > this.age)
return -1;
else if( one.age < this.age)
return 1;
else
return 0;
}
}
大概這個意思 這是對象比較大小
對象數組同樣也這樣比較,數值數組直接循環比較就行
㈣ 判斷3個數大小的 演算法
1.做差,和零比較大小
2.若兩數同號,作商,和1比較大小
3.找一個中間數,大於一個,小於零一個
4.如果長的樣子差不多,可以利用函數的單調性
㈤ 用畫流程圖的方法比較a,b,c三個數的大小
#include<stdio.h>
intmain()
{
inta,b,c;
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&d);
if(a>b)
{
if(a>c)
{
printf("a,b,c中最大值是:%d
",a);
}
else
{
printf("a,b,c中最大值是:%d
",c);
}
}
else
{
if(b>c)
{
printf("a,b,c中最大值是:%d",b);
}
else
{
printf("a,b,c中最大值是:%d",c);
}
}
}
㈥ 分數比較大小分子和分母相差一怎樣簡便演算法
分數比較大小
分子和分母相差一
例如:
3/4和 4/5
3/4=15/20
4/5=16/20
是4/5大
所以
分子和分母相差一,分母大的那個分數大
㈦ 兩兩比較大小排序法是8種排序演算法的哪一種啊
是 冒泡排序法,復習一下:若記錄序列的初始狀態為"正序",則冒泡排序過程只需進行一趟排序,在排序過程中只需進行n-1次比較,且不移動記錄;反之,若記錄序列的初始狀態為"逆序",則需進行n(n-1)/2次比較和記錄移動。因此冒泡排序總的時間復雜度為O(n*n)。
㈧ c++中char[]是如何比較大小的,注意不是string
char字元的比較大小是通過ASCII值確定的,值越小則字元越小
char數組我記得在不做處理的情況下只能使用庫函數strcmp比較大小
strcmp比較兩個字元串的大小時,兩個字元串相同時返回0,第一個字元串大於第二個字元串時返回一個正值,否則返回負值.
比較演算法是:逐個比較兩個串中對應位(0-...)的字元,字元大小按照ASCII碼值確定,從左向右比較,如果遇到不同字元,所遇第一對不同字元的大小關系就確定了兩個字元串的大小關系,如果未遇到不同字元而某個字元串首先結束,那麼這個字元串是較小的,否則兩個字元串相等。
㈨ 四分之三○三分之四有哪兩種比大小演算法
第一種:用小數的方法比較
4/3=1.3(3循環) 3/4=0.75
因為:0.75<0.6(6循環)
所以,3/4<4/3
第二種:用1減這幾個分數的方法比較
1-3/4=1/4 1-4/3=-1/3
因為,1/4>-1/3…………差大,減數反而小.
所以,3/4<4/3
第三種:用通分子的方法來比較.
因為,3/4=9/12 4/3=16/12
12<16
所以,3/4<4/3