帮忙做个题!(受朋友所托)编程方面

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:19:08
设定给三个数a,b,c。试写出寻找其中数的一个算法。并分析在平均情况与最坏情况下你的算法分别要做多少次比较?
感谢各位高手了!

最好:1次找到
平均:2次找到
最坏:3次也找不到

#include <stdio.h>
main()
{
int a = 1;
int b = 2;
int c = 3;
int x;
printf("?");
scanf("%d",&x);
if ( x == a ) {
printf("it is a");
else if ( x == b ) {
printf("it is b");
else if ( x == c ) {
printf("it is c");
else
printf("i cannot find %d", x);
}
}
}
}

如果用switch的话,最好,平均,最坏都是一次
switch(x)
{case 1:printf("it is a"); break;
case 2:printf("it is a"); break;
case 3:printf("it is a"); break;
default:printf("i cannot find %d", x);
}
其他的和上面的一样啊!~~~

用switch不太好。switch的case后面只能用常数1,2,3,不能用a,b,c。
不如if灵活。

而且……这不算是算法,应该不合题意。。

同意楼上回答.