《数据结构》 实验4.2

1.实验目的

     巩固字符串和多维数组相关知识,学会运用灵活应用。

1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。

2.学习运用字符串和和数组的知识来解决实际问题。

3.进一步巩固程序调试方法。

4.进一步巩固模板程序设计。


2.实验内容

2.写程序输出一个5阶幻方:每一行每一列每一个对角线和均相等。

 

源代码:

#include<iostream>
#include<iomanip>
#include<stdlib.h>
using namespace std;
const int N = 5;
void square(int a[N][N], int n)
{
 int i, j, k;
 i = 0; j = n / 2;
 a[i][j] = 1;
 for (k = 2; k <= N*N; k++)
 {
  int iTemp, jTemp;
  iTemp = i; jTemp = j;
  i = i - 1;
  if (i<0)i = n - 1;
  j = j - 1;
  if (j<0)j = n - 1;
  if (a[i][j]>0)
  {
   i = iTemp + 1;
   if (i == n)i = 0;
   j = jTemp;
  }
  a[i][j] = k;
 }
}
void show(int b[N][N])
{
 int i, j;
 for (i = 0; i<5; i++)
 {
  for (j = 0; j<5; j++)
   cout << b[i][j] << " ";
  cout << endl;
 }
}
void init(int c[N][N])
{
 int i, j;
 for (i = 0; i<5; i++)
 for (j = 0; j<5; j++)
 {
  c[i][j] = 0;
 }
}
int main()
{
 int arr[N][N];
 init(arr);
 square(arr, 5);
 show(arr);
 system("pause");
 return 0;
}

 

运行结果:

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值