1. 程式人生 > >C語言條件運算子例項分析

C語言條件運算子例項分析

************
條件運算子:?:


例子:max=(a>b) ? a:b;
表示如果a大於b,那麼a賦值給max,否則是b賦值給max;


等價於:  if(a>b)
             max=a;
             else
             max=b;
補充一點:條件運算子需要三個運算物件,其形式為a?a:b
************
下面通過一個例項來運用條件運算子
#include <stdio.h>
#define COVERAGE 350                   /*每罐油漆可以刷的面積*/
int main()
{
int sq_feet;
int cans;


printf("please enter the number of square feet to be painted:\n");


while(scanf("%d",&sq_feet)==1)
{
cans=sq_feet/COVERAGE;              /*表示當面積除以平均可以整除的情況之下,cans無需進1*/


cans+=((sq_feet%COVERAGE==0))?0:1;           /*表示面積和平均的取模,如果取模為0,那麼0賦值給cans,反之進1,證實了油漆不可能1.5罐這樣賣*/


printf("you need %d %s of pain\n",cans,           /*最後根據單複數列印can和cans,只要懂得運用條件運算子即可了*/
cans==1?"can":"cans");


printf("enter next value (q to quit):\n");
}
return 0;
}
該程式計算刷給平方英尺的面積需要多少罐油漆,基本演算法很簡單,用平方英尺總面積除以每平方可刷面積,即可得到需要多少罐油漆。
然後我們回到現實來處理這個演算法,得知油漆不可能1.5罐,1.1罐這樣賣法,所以如果計算結果得到有小數的話,那麼結果則應該進1。
**************
最後如果有什麼需要改進的地方  歡迎留言!謝納!!!