问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言程序设置矩阵中数字以蛇形输出的问题

发布网友 发布时间:2022-04-27 11:30

我来回答

2个回答

热心网友 时间:2023-09-15 05:46

//以前写得,按蛇形增长方向给每个位置赋值
#include <stdio.h>
#include <stdlib.h>
int *p = NULL; //当前位置
int *s = NULL; //开始位置
int n = 0;
int func(int num, int way)
{
if(num == n*n + 1) return 0;
*p = num;
switch(way) //四个方向, 下,斜上,右,斜下
{
case 0: //向下时 下一个位置在 p + n 处,如当前位置是a[1][0],下个位置应该是a[2][0], 中间相差n个数据
p = p + n;
if( (p -s )% n == 0)
way = 1; //下个方向要么是斜上,要么斜下,由当前是上三角还是下三角决定
else
way = 3;
break;
case 1:
p = p - n + 1;
if(p - s < n -1)
way = 2;
else if((p + 1 - s) % n == 0)
way = 0;
break;
case 2:
p = p + 1;
if((p - s) / n == n -1)
way = 1;
else
way = 3;
break;
case 3:
p = p + n -1;
if((p - s) / n == n - 1)
way = 2;
else if((p - s) % n == 0)
way = 0;
break;
}
return func(num+1, way);
}
void main()
{
printf("n = ");
scanf("%d", &n);
p = (int *)malloc(n * n * sizeof(int));
s = p;
func(1, 0);
p = s;
while(s - p < n*n)
{
printf("%2d ", *s);
if((++s - p) % n == 0)
printf("\n");
}
}

热心网友 时间:2023-09-15 05:46

int **array=NULL;
void main()
{
int n;
scanf("%d",&n);
array=(int**)malloc(n*sizeof(int*));
for(int i=0;i<n;i++)
{
array[i]=(int *)malloc(n*sizeof(int));
}
Testingval(n,n);
for(int i=0;i<n;i++)
{for(int j=0;j<n;j++)
printf("%d ",array[i][j]);
printf("\n");
}
free(array);
}
int Testingval(int a,int n)//a 表示n行中的第几个。。n表示是N界矩阵!
{ if(n==1)
{ array[0][0]==1;
array[n][n]=n*n;
}
else
Testingval(a-1,n);
if(a%2)
{ int i=1;
array[0][a-1]=array[0][a-2]+1;
array[n-1][n-a]=n*n+1-array[0][a];
while(i<a)
{

array[i][a-1-i]=array[i-1][a-i+1]+1;
array[n-1-i][n-a+i]=n*n+1-array[i][a-i];
i++;
}
}
else
{int i=1;
array[a-1][0]=array[a-2][0]+1;
array[n-a][n-1]=n*n+1-array[a-1][0];
while(i<a)
{

array[a-1-i][i]=array[a-i+1][i-1]+1;
array[n-a+i][n-1-i]=n*n+1-array[a-1-i][i];
i++;
}
}

}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 《得道多助 失道寡助》原文及翻译 ,速度回。谢谢!!! 常见的贵金属交易稳定的平台有哪些? 现货贵金属交易系统选哪个? 有什么方法能治好日光性皮炎 日光性皮炎好几年了!太阳一晒到我的皮肤上就会起小疙瘩而且还痒!有没有更好的解决办法啊 请问谁有治日光性皮炎的偏方,谢谢 日光性皮炎 偏方??? 中维珠宝玉石质量检测中心鉴定的这个证书是真的吗?东西是不是真的啊 中维珠宝检测证书可靠吗? 日光性皮炎的偏方??? 中维珠宝玉石鉴定的证书查真伪!求真相 我是不是被骗了! 有木有根治日光性皮炎的偏方啊? 中维质检珠宝玉石质量检测中心是国家认证的吗? 中国中维珠宝鉴定可靠吗? 中维珠宝玉石质量检测中心的鉴定证书是真的吗? 我买了一个翡翠玉镯 中维质检珠宝玉石质量检测中心 证书编号:1301032441... 中维质检珠宝玉石质量检测中心可信吗?此和田玉能帮忙估价吗??谢谢 翡翠A货,中维质检的证书,可靠吗? 中维鉴定证书编号:X1612190640 是真的吗 翡翠A货,中维质检的证书 java 如何将1到25 以 5*5方阵 蛇形输出 用c语言输出蛇形矩阵... 是新手,求简单点的解... 《孟子》的得道多助,失道寡助和生于忧患,死于安乐两篇的原文和译文 还有鱼我所欲也的原文和译文? 给定整数N,请输出蛇形矩阵 stm32h743iit6能用J-Link吗? 通过C#数组编程实现:输出n行n列蛇形数字阵? &quot;得道者多助,失道者寡助&quot;出自哪一本古代典籍 JAVA蛇形输出长方形。如图,新手,一晚上头都破了&#128557;,求解救。用for循环写的,回 正点原子的阿波罗STM32H743开发板怎么样? 如何用指针表示 蛇行矩阵 的输出?如果直接输出,我倒是会,但是用指针把所有的输出表示出来,我就不会 输入一个数字,然后输出蛇形方阵。用C语言实现。 用c语言输出蛇形矩阵,我是新手,自己乱想了一个,觉得应该是对的,但输不出,求纠正!!! 《得道多助,失道寡助》的结论是什么 c语言:建立N阶蛇形方阵并输出 得道多助失道寡助的主旨是什么 用C语言怎样输出一个N阶蛇形矩阵? “得道者多助,失道者寡助”出自哪一本古代典籍 如何打印蛇形矩阵? 得道多助失道寡助的作者 急!!!要求输出一个蛇形数组;