、用函数打印100-200之间的素数

#include<stdio.h>
int is_prime(int i)
{
  int n=0;
  for(n=2;n<i;n++)
  {
    if(n%i==0)
      return 0;
  }
  return 1;
}
int main()
{
  int i=0;
  for(i=100;i<=200;i++)
  {
    if(is_prime(i)==1);
    printf("%d ",i);
  }
}

二、用函数打印1000-2000之间的闰年

#include<stdio.h>
int is_leap_year(int n)
{
  if(n%4==0&&n&100!=0||n%400==0)
  {
    return 1;
  }
  return 0;
}
int main()
{
  int year=0;
  int count=0;
  for(year=1000;year<=200;year++)
  {
    count++;
    if(is_leap_year(year)==1)
    {
      printf("%d ",year);
    }
  }
  
}

三、写一个函数,实现有序数组的二分查找

#include<stdio.h>
int binary_search(int arr[], int k,int sz)
{
	//算法的实现
	int left = 0;
	int right = sz - 1;
	while (left <= right)
	{
	  int mid = (left + right) / 2;//中间元素的下标
      if (arr[mid] < k)
	{
		left = mid + 1;
	}
	else if(arr[mid] > k)
	{
		right = mid - 1;
	}
	else
	{
		return mid;
	}
	}
	return -1;
}
int main()
{
	//二分查找:在一个有序数组中查找具体的某个数
	//如果找到了返回这个数的下标,找不到的返回-1
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int k = 11;
	int sz = sizeof(arr) / sizeof(arr[0]);
	int ret=binary_search(arr, k,sz);
	if (ret == -1)
	{
		printf("找不到指定的数字\n");
	}
	else
	{
		printf("找到了,下标是:%d \n", ret);
	}
}