#include<stdio.h>
#include<assert.h>
#define ROW 5
//杨辉三角
//void Fun(int (*arr)[ROW])
//{
// for(int i = 0;i < ROW;i++)
// {
// for(int j = 0;j <= i;j++)
// {
// if(i == j || j == 0)
// {
// arr[i][j] = 1;
// }
// else
// {
// arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
// }
// }
// }
//}
void Show(int (*arr)[ROW])
{
for(int i = 0;i < ROW;i++)
{
for(int j = 0;j < ROW;j++)
{
printf("%3d ",arr[i][j]);
}
printf("\n");
}
}
//魔方阵
void MagicSqaure(int (*arr)[ROW])
{
assert(ROW % 2 != 0);
arr[0][ROW/2] = 1;
int preRow = 0;
int preCol = ROW/2;
for(int i = 2;i <= ROW*ROW;i++)
{
if( arr[(preRow-1+ROW) %ROW] [(preCol+1)%ROW] != 0 )
{
preRow = (preRow+1) % ROW ;
}
else
{
preRow = (preRow-1+ROW) %ROW;
preCol = (preCol+1)%ROW;
}
arr[pre
C语言:杨辉三角、魔方阵和递归法
最新推荐文章于 2023-12-23 10:18:01 发布