分支与循环(3)
//折半查找
int arr[]={1,2,3,4,5,6,7,8,9};
int k=10;//要找的数;
int sz=sizeof(arr)/sizeof(arr[0]);
int left=0; //左下标
int right=sz-1;//右下标
while(left<=right)
{
int mid=(left+right)/2;
if(arr[mid]>k)
{
right=mid-1;
}
else if(arr[mid]<k)
{
left=mid+1;
}
else
{
printf("找到了,下标是:%d\n",mid);
break;
}
}
if(left>right)
{
printf("找不到\n");
}
return 0;
//从两边往中间展示一行字母
#include<string.h> //为了使用strlen
#include<windows.h> //为了使用Sleep
#include <stdlib.h> //为了清屏
char arr1[]="bkppszd loveforever!!";
char arr2[]="#####################";
int left=0;
int right=strlen(arr1)-1;//用来求字符数组长度
while(left<=right)
{
arr2[left]=arr1[left];
arr2[right]=arr1[right];
printf(arr2);printf("\n");
Sleep(10000); //延迟一秒
system("cls"); //执行系统命令的一个函数-cls 清空屏幕
left++;
right--;
}
printf(arr1);
return 0;
// 模拟用户登录情景。只能输入三次密码
int i=0;
int password[20]={0};
for(i=0;i<3;i++)
{
printf("please print password:>");
scanf("%s",password);
if(strcmp(password,"123456")==0)
{
printf("go into");
break;
}
else
{
printf("wrong password\n");
}
if(i==3)
{
printf("it's thress times you have not right to put");
}
}
return 0;