猜数字游戏

猜数字游戏
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<Windows.h>
enum  Option
{
EXIT,
PLAY
};
void menu()
{
printf("*********************************


\n");
printf("***** 1.PLAY ******* 0.EXIT *****


\n");
printf("*********************************


\n");
}
void game()
{
int rand_num = rand() % 100;
int num;
while (1)
{
printf("请猜数字:>");
scanf("%d", &num);
if (num == rand_num)
{
printf("恭喜你,猜对了


\n");
break;
}
else if (num > rand_num)
{
printf("猜大了\n");
}
else
{
printf("猜小了\n");
}
}
}
int main()
{
int input = 0;


srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case PLAY:
game();
break;
case EXIT:
break;
default:



printf("选择错误!\n");
break;
}
} while (input);

system("pause");
return 0;
}










折半查找
#include<stdio.h>
#include<Windows.h>
int main()
{
int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 


10 };
int key = 0;
int left = 0;
int right = sizeof(arr) / sizeof(arr[0])-


1;

printf("请输入想要查找的数:");
scanf("%d", &key);
while (left <= right)
{
int mid = left + ((right - left) 


>> 1);
if (key > arr[mid])
{
left = mid + 1;
}
else if (key < arr[mid])
{
right = mid - 1;
}
else
{
printf("此数字在数组


中,%d\n", mid);
break;
}
}
if (left > right)
{
printf("此数字不在数组中!\n");
}
system("pause");
return 0;
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值