函数实现乘法表,两数交换,判断闰年,初始、逆置、清空数组

1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,
输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。

2.使用函数实现两个数的交换。

3.实现一个函数判断year是不是润年。

4.创建一个数组,
实现函数init()初始化数组、
实现empty()清空数组、
实现reverse()函数完成数组元素的逆置。
要求:自己设计函数的参数,返回值。

5.写一个函数能够对整型数组进行二分查找。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//1.打印乘法表
//void Multiplication_Table(int n)
//{
//  int i = 0;
//  for (i = 1; i <= n; i++)
//  {
//      int j = 0;
//      for (j = 1; j <= i; j++)
//      {
//          printf("%d*%d=%d ", i, j, i*j);
//      }
//      printf("\n");
//  }
//}
//
//int main()
//{
//  int n = 0;
//  scanf("%d", &n);
//  Multiplication_Table(n);
//  return 0;
//}

//2.实现两个数交换
//void Swap(int* a, int* b)
//{
//  int temp = 0;
//  temp = *a;//temp=a=1
//  *a = *b;//a=b=5
//  *b = temp;//b=temp=1
//}
//int main()
//{
//  int a = 0, b = 0;
//  printf("a=");
//  scanf("%d", &a);
//  printf("b=");
//  scanf("%d", &b);
//  Swap(&a, &b);
//  printf("a=%d,b=%d\n", a, b);
//  return 0;
//}

//3.判断闰年
//void Leap_Year(int year)
//{
//  if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
//  {
//      printf("%d is leap year\n", year);
//  }
//  else
//  {
//      printf("%d isn't leap year\n", year);
//  }
//}
//
//void main()
//{
//  while (1)
//  {
//      int year = 2000;
//      printf("year:");
//      scanf("%d", &year);
//      Leap_Year(year);
//  }
//}

//4.初始、逆置、清空数组
//void init(int p[],int sz)
//{
//  int i = 0;
//  for (i = 0; i < sz; i++)
//  {
//      p[i] = i;
//      printf("%d ", p[i]);
//  }
//}
//void empty(int p[],int sz)
//{
//  int i = 0;
//  for (i = 0; i < sz; i++)
//  {
//      p[i] = 0;
//      printf("%d ", p[i]);
//  }
//}
//void reverse(int p[], int sz)
//{
//  int i = 0;
//  int left = 0, right = sz-1;
//  int temp = 0;
//  for (i = 0; i < sz - 1; i++)
//  {
//      while (left < right)
//      {
//          temp = p[left];
//          p[left] = p[right];
//          p[right] = temp;
//          left++;
//          right--;
//      }
//      printf("%d ", p[i]);
//  }
//}
//void main()
//{
//  int p[10];
//  int sz = sizeof(p) / sizeof(p[0]);
//  printf("\n初始:");
//  init(p,sz);
//  printf("\n逆置:");
//  reverse(p, sz);
//  printf("\n清空:");
//  empty(p, sz);
//}

//5.对数组二分查找
int Binary_Search(int p[], int x, int sz)
{
    int left = 0, right = sz - 1;
    int mid = 0;
    while (left <= right)
    {
        mid = left + (right - left) / 2;
        if (x < p[mid])
        {
            right = mid - 1;
        }
        else if (x > p[mid])
        {
            left = mid + 1;
        }
        else
        {
            return mid;
        }
    }
    return -1;
}
void init(int p[],int sz)
{
    int i = 0;
    for (i = 0; i < sz; i++)
    {
        p[i] = i*10;
        printf("%d ", p[i]);
    }
}
void main()
{
    int key = 0;
    int x = 50;
    int p[10];
    int sz = sizeof(p) / sizeof(p[0]);
    init(p, sz);
    key = Binary_Search(p, x, sz);
    printf("\n%d\n", p[key]);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值