1.猜数字游戏。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void maune()
{
printf("##############################\n");
printf("#### 1.游戏开始 0.退出游戏####\n");
printf("##############################\n");
}
void game()
{
int rand_num = rand() % 100;
int temp = 0;
while (1)
{
printf("输入你猜的数字:\n");
scanf("%d", &temp);
if (temp > rand_num)
{
printf("猜大了\n");
}
else if (temp < rand_num)
{
printf("猜小了\n");
}
else
{
printf("猜对了\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do{
maune();
printf("请选择:");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
break;
default:
printf("选择错误,请重新输入:\n");
break;
}
} while (input);
system("pause");
return 0;
}
2.折半查找代码
int binary_search(int arr[], int key, int left, int right)
{
while (left<=right)
{
int mid = left - (left - right)/2;
if (arr[mid] < key)
{
left = mid + 1;
}
else if (arr[mid]>key)
{
right = mid - 1;
}
else
{
return mid;
}
}
if (left > right)
{
return -1;
}
}
int main()
{
int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int ret = binary_search(arr, 5, 3, 5);
if (ret != -1)
{
printf("%d", ret);
}
else
{
printf("没找到\n");
}
system("pause");
return 0;
}