巩固字符串和多维数组相关知识,学会运用灵活应用。
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;
}
运行结果:
原文链接:https://www.f2er.com/datastructure/382826.html