二进制小游戏 猜生肖
原理
核心利用二进制,得到二进制数组,然后通过转换得到十进制的数字,组后将其用switch输出。
二进制原理
1X2^4-1 + 0X2^3-1 + 1X2^2-1 + 1X2^0 = 11
代码块
#include<stdio.h>
#include<math.h>
int main(){
int a[4];
int sum,number,i,n=3;
printf("猜生肖小游戏\n");
printf("下面将会给你几个生肖,如果没有就请输入0,如果有就请输入1\n");
printf("蛇 羊 兔 狗 鼠 牛\n");
scanf("%d",&a[0]);
printf("龙 兔 牛 狗 猴 马\n") ;
scanf("%d",&a[1]);
printf("龙 马 牛 羊 猪 鸡\n");
scanf("%d",&a[2]) ;
printf("龙 虎 鸡 羊 狗 鼠\n");
scanf("%d",&a[3]) ;
for(i=0;i<4;i++){
sum+=a[i]*pow(2,n--);
}
switch(sum){
case 9:printf("鼠"); break;
case 16:printf("牛"); break;
case 1:printf("虎"); break;
case 12:printf("兔"); break;
case 7:printf("龙"); break;
case 8:printf("蛇"); break;
case 6:printf("马"); break;
case 11:printf("羊"); break;
case 4:printf("猴"); break;
case 3:printf("鸡"); break;
case 13:printf("狗"); break;
case 2:printf("猪"); break;
}
return 0;}