条件运算符用法
別人的書(shū)上看到一個(gè)簡(jiǎn)單題目,剛開(kāi)始學(xué)C的小伙伴們應(yīng)該很熟悉,還記得當(dāng)年在軟件實(shí)驗(yàn)室那會(huì)兒,入學(xué)考試全是這個(gè),做到吐。
打印圖形以下圖形:
*?
***?
*****?
*******?
*********?
***********?
*************?
***********?
*********?
*******?
*****?
***?
*??
一般方法:兩重循環(huán),里面是兩個(gè),上面三角形一個(gè)循環(huán),倒三角一個(gè)循環(huán)。
for(int i=1;i<=13;i++){if(i<=7){for(int j=1;j<=2*i-1;j++){cout<<"*";}}else{for(int j=1;j<=2*(7-(i-7))-1;j++){cout<<"*";}}cout<<endl;}我的方法,利用三目運(yùn)算符將條件內(nèi)置,因?yàn)閮蓚€(gè)循環(huán)只有中間的循環(huán)條件不一樣,所以方便內(nèi)置,復(fù)雜度也會(huì)相對(duì)低不少。
數(shù)大的話節(jié)省時(shí)間很有用的
for(int i=1;i<=13;i++){for(int j=1;i<=7?j<=2*i-1:j<=2*(7-(i-7))-1;j++){cout<<"*";}cout<<endl;}條件運(yùn)算符也就是? ? a>0?? x : y, a>0是它的前置條件,當(dāng)滿足a>0時(shí),執(zhí)行X代表的式子或者計(jì)算X的值,不滿足執(zhí)行Y。
它其實(shí)就是IF語(yǔ)句的簡(jiǎn)化,
if(a>0) {return x; } elsereturn y;當(dāng)然例子還有很多,比如常用的GCD(最大公約數(shù))算法,就可以用這個(gè)簡(jiǎn)化,看起來(lái)就比舒服。
int gcd(int a,int b){return b == 0 ? a:gcd(b,a%b);}先就這么多吧,最后一年加油。
總結(jié)
- 上一篇: atomic原子类实现机制_atomic
- 下一篇: IBM power小型机HMC管理口默认