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

用C语言,输出“魔方阵”

发布网友 发布时间:2022-05-17 03:08

我来回答

3个回答

热心网友 时间:2023-08-11 12:52

#include<stdio.h>
void main()
{
int a[16][16],i,j,k,n;
printf("enter n(n=1 to 15):");
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0; //一定要初始化数组,不然就输不出结果
if(j=n/2+1)
a[1][j]=1;
for(k=2;k<=n*n;k++)
{
i=i-1; //先写出一般规律
j=j+1;
if((i<1)&&(j>n)) //第一行最后一个元素,其下一个元素直接放在它的下面
{
i=i+2;
j=j-1;
}
else
{
if(i<1) //到了第一行,则其下一个元素在第n行
i=n;
if(j>n) //到了最后一列,则下一个元素转到第一列
j=1;
}
if(a[i][j]==0) //如果下一个元素还没有被填充,已定的规律由大到小的顺序进行输出
a[i][j]=k;
else
{
i=i+2; //由于原来i减去了1,所以现在要加上1,总共要回去2
j=j-1; //由于原来j加上了1,所以现在要减去1
a[i][j]=k;
}
}
for(i=1;i<=n;i++) //矩阵的输入模块
{
for(j=1;j<=n;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}

热心网友 时间:2023-08-11 12:52

/*------------------------
Description:
Magic Matrix:Magic Matrix is a matrix which
the number in rows and cols and diagonals their
sum is the same.
Envrionment:VC6.0
Date:16:59 2008-1-17
Email:eryar@163.com
------------------------*/

#include <stdio.h>
#include <conio.h>

void print(int magic[][16],int n);
void everysum(int magic[][16],int m);

main()
{
int flag=0;
int i,j,k,n;
int magic[16][16];
printf("---Show a Magic Matrix---\n");
while(flag==0) {
printf("Enter a number:");
scanf("%d",&n);
if(n<16&&n>1&&n%2)
flag = 1;
}

for(i=0;i<n;i++) /*Initiate Matrix.*/
for(j=0;j<n;j++)
magic[i][j] = 0;

magic[0][n/2] = 1;

i=0;j=n/2;
for(k=2;k<=n*n;k++) {
i--; j++;
if(i<0&&j>n-1) {
i+=2;
j--;
}
if(i<0) i=n-1;
if(j>n-1) j=0;
if(magic[i][j]!=0) {
i+=2;
j--;
}
magic[i][j] = k;
}

print(magic,n);
everysum(magic,n);
printf("Press any key to halt...");
getch();
}

void print(int magic[][16],int n)
{
int i,j;
for(i=0;i<n;i++) {
for(j=0;j<n;j++)
printf("%4d",magic[i][j]);
printf("\n");
}
}

void everysum(int magic[][16],int m)
{
int i,j;
int sum1=0;
int sum2=0;
printf("The SUMS :\n");
for(i=0;i<m;i++) {
for(j=0;j<m;j++) {
sum1 += magic[i][j];
sum2 += magic[j][i];
}
printf("ROW %d : %d \t COL %d : %d ",i+1,sum1,i+1,sum2);
printf("\n");
sum1=0; sum2=0;
}
}

/*------------------------
Test data: 3 Magic Matrix
8 1 6
3 5 7
4 9 2
------------------------*/

热心网友 时间:2023-08-11 12:53

魔方阵
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何查被录取到的专业 怎样查被录取的专业 录取后怎样查询录取的专业 录取专业怎么查 已被录取怎么查专业 ghs网络语什么意思_ghs网络语意思出处含义介绍 纸箱企业管理软件 ghs什么意思网络(ghs什么意思网络用语) 《喜羊羊与灰太狼》大结局 0与任何数相加都得原数吗? C语言:输出魔方阵 怎么解五阶幻方,求详细易懂的过程 这个程序的功能是输出5*5魔方阵,请问错在哪了? C语言编程,输出魔方阵 c语言 五阶魔方阵 5阶魔方阵,怎样用matlab验证各行、各列、主副对角线和相等? 这个程序错在那,输出五阶魔方阵 麻辣烫、自助火锅、米线那个项目更好些? 在县城里,整体消费水平一般... 在自助赚钱么?过桥米线和自助哪个回收成本快? 自助餐里增加米线项目大家会喜欢吗? 15元自助米线可以点几个鱼丸? 怎样克服在公众场合说话时的紧张感 公众场合发言恐惧,如何解决 怎样才能克服在公众前讲话紧张的问题? 怎样克服在公众面前讲话的紧张心理? 怎么样克服公共场合发言的紧张感? 怎样克服在公共场合讲话紧张? 150G的铜板纸A3大小有多重 A3规格80G 铜版纸 struts2+jquery判断用户是否存在 用C语言输出“魔方阵” c语言输出魔方阵程序解释 5阶幻方的填法 输出魔方阵C语言程序 五阶幻方的解法 c语言输出魔方阵,所谓魔方阵是指这样的方阵,她的每一行,每一列和对角线之和相 用25个数造一个五阶幻方 输出魔方阵,魔方阵是指这样的方阵,它的每一行,每一列和对角线之和均相等 橙色毛衣咖啡色衬衣领配什么颜色外套好看 柴油发电机组品牌都有哪些? 广东那里能买到柴油发电机400kw 的 广东柴油发电机组320kw价格多少钱 广东柴油发电机涡轮增压器损坏的原因 广东备用柴油发电机价格多少钱(400KW、600KW、800KW) 广东备用柴油发电机价格多少钱 他知道风从哪个方向来男主死了吗 我想在广东省中山市买500KW柴油发电机 请问到哪买? 2022古筝八级考试地点? 求一个用JQUERY和AJAX做的可以实时验证注册账号是否已经存在的jsp注册页面 卫子夫古文介绍