1.在有序数组中查找具体的某个数字
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9};
int k = 8;
//在这个arr有序数组中查找k(8)的值;
int sz = sizeof(arr)/sizeof(arr[0]);//计算数组的元素个数
int left = 0, right = sz - 1; //分别是数组左边和右边的下标
while (left <=right)
{
int mie = (left + right) / 2;
if (k>arr[right])
{
printf("找不到!\n");
break;
}
else if (arr[mie] < k)
{
left = mie + 1;
}
else if (arr[mie] > k)
{
right = mie - 1;
}
else if (arr[mie]=k)
{
printf("找到了,是arr[%d]\n",mie);
break;
}
}
return 0;
}
2.演写代码,演示多个字符从两端移动,向中间汇聚
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<Windows.h>
int main()
{
//演写代码,演示多个字符从两端移动,向中间汇聚
char arr1[]="welcome to bit!!!!!!!";
char arr2[]="#####################";
int str = strlen(arr1);//计算arr的长度
int left = 0, right = str - 1;
while (left<=right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s\n",arr2);
Sleep(100); //睡眠0.5秒,需要头文件windows.h。括号里面的数字和单片机延时相似,数字越大运行越慢,反之,相反。
system("cls");//清空屏幕
left++;
right--;
}
return 0;
}