2020年2月10日

//在一个有序数组中查找具体的某个数字n.编写int binsearch
//(int x,int v[],int n);功能在:v[0]<=v[1]<=v[2]<=…<= v[n-1]
//的数组中查找x.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define N 4
int a[];
int x,n;
//建立一个顺序查找的函数
int search(int to_find, int a[]) {
//to_find为代查找数
for (n = 0; n < 4; n++) {
if (to_find == a[n]) {
return n;
}
}
return -1;
//若循环执行完依旧未找到,则返回-1
}
int main( ){
int a[] = { 1,0,2,4 };
printf("请输一个整数:\n");
scanf("%d", &x);
int results =search(x,a);
printf("results=:%d\n", results);
system("pause");
}
//编写代码实现,模拟用户登录情景,并且只能登录三次
//(只允许输入三次密码,如果密码正确则提示登录成功,
//如果三次均输入错误,则退出程序)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int i,key= 888888;
int word;
int main() {
printf("请输入密码:\n");
for (i = 0; i < 3; i++) {
scanf("%d", &word);
if (key == word) {
printf("密码正确登录成功\n");
}
else
printf("密码错误请重试!\n");
}
if (i == 3)
printf("账号已被锁定\n");
system("pause");
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define N 4
int a[];
int i,x,n,mid;
//建立一个折半查找的函数
int binsearch(int x, int v[], int n) {
 int lift = 0;
 int right = n - 1;
 //[lift,right]为所查找区间
 while(lift<=right) {
  mid = (right + lift) / 2;
  //计算中间元素下标
  if (x < mid) {
   right = mid-1;
   //-1为了将mid去掉,减少比较次数
  }
  else if (x > mid) {
   lift = mid + 1;
  }
  else {
   return mid;
   //已找到
  }
 }
 return -1;
}
int main( ){
 int a[] = { 0,1,2,4,5,8,446,15484,158458,589494,88888888 };
 printf("请输一个整数:\n");
 scanf("%d", &x);
  int result =binsearch(x,a,n);
  printf("results=:%d\n", result);
 system("pause");
}
公開された10元の記事 ウォンの賞賛0 ビュー122

おすすめ

転載: blog.csdn.net/m0_46233999/article/details/104255667
おすすめ