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