《数据结构》 实验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;
}

运行结果:

相关文章

【啊哈!算法】算法3:最常用的排序——快速排序       ...
匿名组 这里可能用到几个不同的分组构造。通过括号内围绕的正...
选择排序:从数组的起始位置处开始,把第一个元素与数组中其...
public struct Pqitem { public int priority; ...
在编写正则表达式的时候,经常会向要向正则表达式添加数量型...
来自:http://blog.csdn.net/morewindows/article/details/6...