给定三个整数 a,b,c 写出寻找其中数的算法,并分析平均和最坏情况下要作多少次比较?
3条回答 默认 最新
- CSDN专家-深度学习进阶 2022-02-26 09:53关注
由于A,B,C中每一个为中数的概率均为⅓;
当A为中数时,需要比较2次。
当B或C为中数时,则需要比较3次;
由此可知,平均情况下需要比较的次数为:2⅓+3⅓+3*⅓=8/3次,最坏的情况下则需要比较3次。#include <iostream> #inlcude "stdlib.h" using namespace std; int mid(int a,int b,int c) { int m; m = a; //先假设中数为m if (m >= b) { if (m >= c) { if (b >= c) m = b; //中数为b else m = c; //中数为c } } else { if(m<=c) { if (b >= c) m = c; //中数为c else m = b; //中数为b } } return (m); } int main() { int a, b, c; cout << "please input a,b,c=\t"; cin >> a >> b >> c; cout << "所求的中数为:" << mid(a, b,c) << endl; system("pause"); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
- ¥20 cad图纸,chx-3六轴码垛机器人
- ¥15 移动摄像头专网需要解vlan
- ¥20 access多表提取相同字段数据并合并
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算
- ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
- ¥20 有人知道这种图怎么画吗?
- ¥15 pyqt6如何引用qrc文件加载里面的的资源
- ¥15 安卓JNI项目使用lua上的问题