首页 > 软件 > c 蛇形矩阵3

c 蛇形矩阵3

软件 2022-12-05

C语言,蛇形矩阵

#include int main(){ //该程序虽然能通过评测系统的检测,但时间复杂度为O(n^3),因而有待改进 int i,j,k,N; //矩阵阶数 int a[11][11]; //N阶矩阵 int count=0; //矩阵元素值,初始为0 scanf("%d",&N); for(i=1;i<=2*N-1;i++){ //N阶方阵有2*N-1条反对角线,依次遍历之 if(i%2!=0){ //当对角线编号为奇数时,各元素按此对角线上的矩阵各元素下标之和从小到大的顺序排列 for(j=1;j<=N;j++) for(k=1;k<=N;k++){ if(j+k==

C语言 蛇形矩阵问题

代码如下:
#include
intmain()
{
intn;
staticinta[100][100];
inti=0,j=0;
intk,x,y;
//printf("请输入整数N,N<=100\n");
scanf("%d",&n);
for(k=1;k<=n*n;k++)
{
a[i][j]=k;
if((i+j)%2==0)
{
if(i!=n-1&&j!=0)
{
i=i+1;
j=j-1;
}
elseif(i==n-1)
{
//j=j+1;
break;
}
else
{
i=i+1;
}

}
else
{
if(i!=0&&j!=n-1)
{
i=i-1;
j=j+1;
}
elseif(j==n-1)
{
break;
//i=i+1;
}
else
{
j=j+1;
}
}

}
for(x=0;x {
for(y=0;y {
if(y==(n-x-1))
printf("%d",a[x][y]);
else
printf("%d",a[x][y]);
}
printf("\n");
}
return0;
}

你测试下,看对不对?

C语言 蛇形矩阵源程序写法

1 3 4

2 5

6。。。。

这是有规律的,1,2,3,4,5,6.。。。。位置也有规律。程序有解释。所以我们可以

用数组来实现。

程序和解释如下:

#include"stdio.h"
voidmain()
{
inta[20][20],i,j,c=1,x=1,n,s=0;
printf("请输入n的值:\n");
scanf("%d",&n);
while(c<=n*(n+1)/2)
{
for(i=s,j=0;i>=0,j<=s;i--,j++)
{
if(s%2!=0)a[i][j]=c++;//无论n值为多少,规律(奇偶性与递增递减之间的关系)不变。
elsea[j][i]=c++;
}
s++;
}//此为左上部分。
while(c<=n*n)
{
for(i=x,j=s-1;i<=s-1,j>=x;i++,j--)
{
if(n%2==0)/*这里因为n值的奇偶性影响了规律(奇偶性与递增递减之间的关系)
所以要对n值得奇偶性进行判定*/
{
if(x%2!=0)a[i][j]=c++;
elsea[j][i]=c++;
}
else
{
if(x%2==0)a[i][j]=c++;
elsea[j][i]=c++;
}
}
x++;
}//此为右下部分。
for(i=0;i{
for(j=0;j printf("%3d",a[i][j]);
printf("\n");
}

}

c语言蛇形矩阵。 输入n输出矩阵 例如输入3 输出 167 258 349

//以前写得,按蛇形增长方向给每个位置赋值#include#includeint*p=NULL;//当前位置int*s=NULL;//开始位置intn=0;intfunc(intnum,intway){if(num==n*n+1)return0;*p=num;switch(way)//四个方向,下,斜上,右,斜下{case0://向下时下一个位置在p+n处,如当前位置是a[1][0],下个位置应该是a[2][0],中间相差n个数据p=p+n;if((p-s)%n==0)way=1;//下个方向要么是斜上,要么斜下,由当前是上三角还是下三角决定elseway=3;break;case1:p=p-

C语言蛇形矩阵代码

啥叫“蛇形矩阵”?是下面这个吗?不是请说明一下。

#include"stdio.h"
#defineN6
intmain(void){
chara[N][N],i,j,k;
for(k=1,i=0;i<6;i++)
if(i&1)
for(j=5;j>=0;a[i][j--]=k++);
else
for(j=0;j<6;a[i][j++]=k++);
for(i=0;i<6;i++){
for(j=0;j<6;printf("%3d",a[i][j++]));
printf("\n");
}
return0;
}

标签:编程 CC++ C(编程语言) 信息技术 编程语言

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18