C语言条件运算符实例分析

来源:互联网 发布:华针数据恢复 编辑:程序博客网 时间:2024/05/21 11:20
************
条件运算符:?:


例子: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。
**************
最后如果有什么需要改进的地方  欢迎留言!谢纳!!!
原创粉丝点击