一、比較兩個數的大小
思路:兩個數的大小無外乎相等、大於、小於,所以一一比較即可。下面提供三種比較兩個數值的大小方法
**其中第三種使用三目結構較爲高效
**
1、先判斷相等的情況:
main()
{
int a,b;
printf(“please input A,B:”);
scanf(“%d %d”,&a,&b);
if(a!=b)
{
if(a>b)
printf(“A>B\n”);
else
printf(“A<B\n”);
}
else
printf(“A=B\n");
}
2、最後考慮相等情況:
main()
{
int a,b;
printf(“please input A,B:”);
scanf(“%d %d”,&a,&b);
if(a>b)
printf(“A>B\n”);
else if(a<b)
printf(“A<B\n”);
else
printf(“A=B\n”);
}
3、使用三目結構,提高代碼的運行效率
main()
{
int a,b;
printf(“please input A,B:”);
scant(“%d %d,&a,&b”);
printf(“%s\n",(a==b)”A=B”:((a>b)?”A>B”:”A<B”));
}
二、比較三個數的大小
第二種使用if嵌套結構的方法較爲高效
1、使用for循環加數組(效率低)
main()
{
int a[3];
int i=0,j=0,k=0,max,min;
for(;i<3;i++)
scant(“%d”,&a[i]);
max=min=a[0];
for(;j<3;j++)
if(max<a[j])
max=a[j];
for(;k<3;k++)
if(min>a[k])
min=a[k];
printf(“%d%d”,a[j],a[k]);
}
2、使用if嵌套語句(效率高)
main()
{
int a,b,c,max,min;
printf(“input three numbers:”);
scanf(“%d %d %d”,&a,&b,&c);
if(a>b)
{
max=a;
min=b;
}
else
{
max=b;
min=a;
}
if(max<c)
max=c;
else
if(min>c)
min=c;
printf(“max=%d\nmin=%d”,max,min);
}
三、對於實際開發過程中的數值比較問題
在實際開發過程中,我們往往不知道用戶輸入的需要比較數值的個數,所以使用數組可能有些問題,但可以強制用戶輸入自己輸入數值的個數,來爲數組的大小進行限制。
對於多個數字進行比較,上述方法有些不適用,一般情況下均使用for循環來進行比較數值大小。也可使用排序算法,將數值進行排序輸出,達到間接比較大小的目的。