c语言第三次上机课猴子吃桃,杨辉三角,奇数魔方矩阵,选择法排序,二分查找法,乒乓球赛事对战名单

本文展示了C++实现的一些基础算法和数据结构,包括杨辉三角、二分查找、选择排序和矩阵初始化。同时,还探讨了字符组合的遍历以及奇数魔方的打印。这些内容涵盖了算法基础和编程实践,适合C++初学者及进阶者学习。
摘要由CSDN通过智能技术生成

在这里插入图片描述

#include<stdio.h>
#include<assert.h>
#include<assert.h>
#define row 3
#define col 3
typedef int ar[100][100];
int Peach(int n,int i) 
{
	while (i>0) 
	{
		n = (n + 1) * 2;
		i--;
	}
	return n;
}
void Match()
{}
void Init(int m)
{
	ar c;
	for (int i = 0; i < m; i++)
	{   c[i][0] = 1;
		for (int j = 0; j <= i; j++)
		{
			if (j>0)
			{
			c[i][j] = c[i - 1][j - 1] + c[i - 1][j];
			}
		
		}
		c[i][i] = 1;
	}
	for (int i = 0; i < m; i++)
	{
		for (int j = 0; j <= i; j++)
		{
			printf(" %d ",c[i][j]);
		}
		printf("\n");
	}
}
int select(int* p,int m,int value) 
{
	assert(p!= 0);
	
	int left = 0, right = m-1;
	if (value<p[right] || value>p[left])
	{
		printf("该数字不在数组中\n");
		return -1;
	}
	while (left<=right) 
	{
		int mid = (left + right) / 2;
		if (p[mid]> value)
		{
			left=mid+1;
		}
		else if (p[mid] < value) 
		{
			right = mid - 1;
		}
	  else 
		{ return mid;}
	}	
}
int select_a(int* p,int n, int val)
{
	assert(p!=nullptr);
	while (n - 1 >= 0)
	{
		if (val == p[n]) return n;
		n--;
	}
	return -1;
}
void sort(int *p,int q) //3,2,1,5,4
{
	
	for (int i = 0; i < q; i++) 
	{   int min =i;
		for (int j =i; j<q; j++)
		{ 
			if (p[min]>p[j])
		    {
			 min = j;
		    }
		}
			int a = p[i];
			p[i] = p[min];
			p[min] = a;
	}
	for (int i = 0; i < q; i++) 
	{ 
		printf("%d ",p[i]);
	}
	
}
void mofang()
{
	int ar[row][col] = { 0 };
  int n = 1;
  int i = 0, j = row / 2;
  ar[i][j] = 1;
  while (n < (row * col))
  {
	int b = ar[i][j];
	int c = i, d = j;
	i = (i - 1+row)%row;
	j = (j + 1)%row;
	if (ar[i][j] == 0)
	{
		ar[i][j] = b + 1;
	}
	else
	{
		i = (c + 1)%row;
		j = d;
		ar[i][j] = b + 1;
     }
	n++;
   }

    for (int i = 0; i < row; i++)
    {
	   for (int j = 0; j < row; j++)
	   {
		 printf("%d\t", ar[i][j]);
	    }
	    printf("\n");
    }
}
void zudui()
{
	for (int a='x';a<='z';a++)
	{
	 for(int b='x';b<='z';b++)
	 {
		 for (int c ='x'; c<='z'; c++)
		 {
			 if (a!=b&&b!=c&&a!=c&&(a!='x')&&c!='x'&&c!='z')
			 {
				 printf("a->%c\n", a);
				 printf("b->%c\n", b);
				 printf("c->%c\n", c);
			 }
		 }
	 }
	}
}
int main() 
{
	int n=1,i= 10;//i代表第几天n代表某天没吃时还有多少桃子的个数;
	//printf("第一天有%d个桃子\n",peach(n, i));
	const int m = 10;
	//Init(m);//杨辉三角
	const int o = 15;
	int ar[o] = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
	//printf("%d",select(ar, o,15));//二分查询
	const int q = 5;
	int br[q] = { 3,2,1,5,4 };
	//sort(br,q);//选择法查5个数字
	//mofang();//奇数魔方打印
	zudui();
	return 0;
}

在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值