分支结构 -- 2015/09/23
2015-09-24 22:12
281 查看
/** * 输入三个数,用两种方法打印出中间值(即第二大值) 提示:第一种,先求最大最小;第二种,只使用条件运算符 */ int a = 0; int b = 0; int c = 0; // int result = 0; printf("输入三个数:"); scanf("%d,%d,%d", &a, &b, &c); // result = ( a > b) ? ( a < c ? a : ( b > c ? b : c ) ): ( b < c ? b : ( a > c ? a : c )); // printf("中间值为%d", result); if ((a > b && a < c) || (a < b && a > c)) { printf("中间值为%d", a); } else if ((b > a && b < c) || (b < a && b > c)) { printf("中间值为%d", b); } else { printf("中间值为%d", c); } /* int nums[3]; printf("输入三个数:\n"); for (int i = 0; i < 3; i++) { scanf("%d", &nums[i]); } for (int i = 0; i < 2; i ++) { for (int j = 0; j < 2; j ++) { if (nums[j] > nums[j + 1]) { int t = nums[j]; nums[j] = nums[j + 1]; nums[j + 1] = t; } } } printf("中间值为%d", nums[1]); */
注意:(条件表达式)
在三个数中输出中间值时,使用条件表达式:
result = ( a > b) ? ( a < c ? a : ( b > c ? b : c ) ): ( b < c ? b : ( a > c ? a : c ));
分析::
首先,判断a 和 b 的大小,
if(a>b)==>再判断a 和 c==>if(a<c)==>c>a>b
|=>if(a>c)==>比较b 和c 的值
if(b>a)==>再判断b 和 c==>if(b<c)==>c>b>a
|=>if(b>c)==>比较a 和c 的值
相关文章推荐
- 聊天室可以相互交流
- MySQL日期字符串转换成NULL值的异常处理
- 专利申请--权利要求书vs说明书
- android基础知识
- android中dp(dip) px sp
- lintcode-线段树查询II-247
- 纯虚函数
- 转载老师的一篇文章——java自学之路
- CGI,fastcgi和php-fpm
- CGI,fastcgi和php-fpm
- margin和padding的区别
- shell脚本学习 一
- ZOJ 2369 | SGU 217 | Acdream 1234 自适应辛普森积分
- NYOJ 837 Wythoff Game(威佐夫博奕公式利用)
- USB host 通信
- 一个关于java数据库驱动包的小发现
- 2015年9月20日第一节课html2-2
- js中return、return true、return false的区别
- asp.net中SQL语句太长,怎么换行写?
- ubuntu 安装numpy和matplotlib