c语言写蛇形矩阵
来源:互联网 发布:谷歌搜索引擎优化指南 编辑:程序博客网 时间:2024/05/22 16:45
这道题我真的也弄了很久。
算法分析:
首先我们把它分成上三角和下三角。我们可以把上三角赋值想这样子1, 2 3, 4 5 6, 7 8 9 10, 11 12 13 14 15.
第1次赋值是1次,第2次是2次,第3次是3次...。所以外循环是n次,内循环次数等于该次输出数字的最大行数。然后我们看奇数行和数行的行走的方向是不一样的。奇数行是右再斜下。偶数行是下然后斜上。是这样子赋值的,a[0][0],a[1][0] a[0][1],a[2][0] a[1][1] a[0][2],a[0][3] a[1][2] a[2][1] a[3][0]。可以看到如果是奇数行,行数是从0开始,结尾数列数都是以0结束。同理偶数行分析。下三角同理分析。我看网上下三角有这样子的办法就是下三角是n*n-对应上三角的值+1。希望对你有帮助。
代码1如下
#include<stdio.h>
#define N 100
void ZigzagMatrix(int a[][N], int n);
int main()
{
int a[N][N],i,j,n;
printf("Input n:\n");
scanf("%d",&n);
if(n>=1&&n<=9)
{
ZigzagMatrix(a,n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
}
else
printf("Input error!\n");
return 0;
}
void ZigzagMatrix(int a[][N], int n)
{
int i,j,k;
k=1;
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(i%2==0)
a[i-j][j]=k;
else
a[j][i-j]=k;
k++;
}
}
k=n*n;
for(i=0;i<=n-1;i++)
{
for(j=0;j<=i;j++)
{
if(i%2==0)
a[n-1+j-i][n-1-j]=k;
else
a[n-1-j][n-1+j-i]=k;
k--;
}
}
}
代码2如下
#include<stdio.h>
#define N 100
void ZigzagMatrix(int a[][N], int n);
int main()
{
int a[N][N],i,j,n;
printf("Input n:\n");
scanf("%d",&n);
if(n>=1&&n<=9)
{
ZigzagMatrix(a,n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
}
else
printf("Input error!\n");
return 0;
}
void ZigzagMatrix(int a[][N], int n)
{
int i,j,k;
k=1;
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(i%2==0)
{
a[i-j][j]=k;
a[n-1+j-i][n-1-j]=n*n-k+1;
}
else
{
a[j][i-j]=k;
a[n-1-j][n-1+j-i]=n*n-k+1;
}
k++;
}
}
}
- c语言写蛇形矩阵
- C语言-蛇形矩阵
- C语言蛇形矩阵2
- C语言蛇形矩阵例题
- C语言实现蛇形矩阵
- C语言蛇形矩阵的输出
- c语言中的蛇形矩阵代码分享
- c语言实现输出二维蛇形矩阵
- C语言-蛇形矩阵(2)
- 【c++】蛇形矩阵
- C语言字符串的问题和蛇形矩阵的问题解答
- 蛇形矩阵的一种解法(C语言)
- bnu1280 蛇形矩阵 C语言版
- (C#)打印蛇形正方形矩阵
- (C语言)oracle笔试题目,蛇形矩阵的一种简单的解决方法
- 递归法解决回式蛇形矩阵的输出(C语言的实现)
- C语言蛇形填数
- C语言实现蛇形输出
- Struts解决中文乱码问题
- (OK) ospf6d.conf
- IOS 版 Opera 已不再更新
- Linux进程状态
- tplink 有良知的路由器厂商
- c语言写蛇形矩阵
- MDK4.60界面使用笔记
- Markdown学习
- 魔法阵
- 简单聊聊Kryo serialization
- BZOJ 2242: [SDOI2011]计算器
- 当你输入网址时都发生了什么(2)——TCP链接的建立
- MySQL入门--创建数据库、显示警告信息、显示数据库、显示数据库创建信息、指定字符编码集
- Applet 类