寫在前面:這裏是小王成長日誌,一名在校大學生,想在學習之餘將自己的學習筆記分享出來,記錄自己的成長軌跡,幫助可能需要的人。歡迎關注與留言。
某年某月某日,老師給我們佈置了一個極其笨拙的方法用來求三個數中的最大值,還在最後讓我們找其他方法,這就讓我瞬間上了頭!
第一種-使用三元運算符
如名字表示的三元運算符需要三個操作數。
語法爲:條件表達式?表達式1:表達式2。
說明:問號前面的位置是判斷的條件,判斷結果爲bool型,爲true時調用表達式1,爲false時調用表達式2。
其邏輯爲:“如果條件表達式成立或者滿足則執行表達式1,否則執行第二個。”常用在設置默認值,例如某個值不一定存在,則判斷這個值是否存在,不存在給默認值(表達式2)。
這題我們的思路也是一樣,在這裏我們先用三元運算符求出兩個數的最大值,然後用這個最大值與第三個數比較得出真正的最大值。
#include <stdio.h>
int main()
{
int a, b, c;
printf("請輸入a,b,c");
scanf("%d %d %d", &a, &b, &c);
// 1.三元運算符
int n = (((a > b) ? a : b) > c) ? ((a > b) ? a : b) : c;
printf("%d", n);
return 0;
}
第二種-調用函數
其實調用的函數實際上又可以有多種寫法,但是這裏就不展開了,基本就是這裏的方法變成兩個數求最大值套進去,相信各位聰明的看官一定能輕鬆理解的。
#include <stdio.h>
int main()
{
int a, b, c;
printf("請輸入a,b,c");
scanf("%d %d %d", &a, &b, &c);
// 2.調用函數
int m=judge(judge(a,b),c);
printf("%d", m);
}
int judge(int a, int b)
{
return (a > b) ? a : b;
}
第三種-使用中間變量儲存最大值
// 3.使用中間變量儲存最大值
#include <stdio.h>
int main()
{
int a, b, c;
printf("請輸入a,b,c");
scanf("%d %d %d", &a, &b, &c);
int t = 0;
if (a > b)
t = a;
else
t = b;
if (c > t)
t = c; //t爲最大值
printf("%d", c);
}
第四種-方法3的改進版-使用a儲存最大值
// 4.方法3的改進版-使用a儲存最大值
#include <stdio.h>
int main()
{
int a, b, c;
printf("請輸入a,b,c");
scanf("%d %d %d", &a, &b, &c);
if (a<b)
a=b;
if (a<c)
a=c;//a值爲最大值
printf("%d",a);
}
第五種-使用&&防止if嵌套
// 5.使用&&防止if嵌套
#include <stdio.h>
int main()
{
int a, b, c;
printf("請輸入a,b,c");
scanf("%d %d %d", &a, &b, &c);
int max;
if (a > b && a > c)
max = a;
else if
max = b;
else
max = c;
printf("%d",max);
}
都看到這裏了,各位哥哥姐姐叔叔阿姨給小王點個贊 關個注 留個言吧,和小王一起成長吧,你們的關注是對我最大的支持。
有事沒事進來看看吧 : 小王的博客目錄索引
更多計算機網絡優質博客看這 : 計算機網絡專欄博客索引
如果以上內容有任何不準確或遺漏之處,或者你有更好的意見,就在下面留個言讓我知道吧-我會盡我所能來回答。