关于数组的C程序题。。。

来源:百度知道 编辑:UC知道 时间:2024/05/24 22:00:16
使用define定义一个常量n,定义一个数组A[n][n],使用计算的方法在数组中生成下面的图形,最后输出。
1 2 3 4 5 6
12 11 10 9 8 7
13 14 15 16 17 18
24 23 22 21 20 19
25 26 27 28 29 30
36 35 34 33 32 31

1 1 1 1 1 1
1 2 2 2 2 1
1 2 3 3 2 1
1 2 3 3 2 1
1 2 2 2 2 1
1 1 1 1 1 1

不用很详细的,提供一个思路就行,比如递推公式之类的~谢谢啦

#include "stdafx.h"
#include "iostream.h"

void main(int argc, char* argv[])
{
int a[6][6];
int i,j;
/* int m,n;
for(i=0,m=1;i<6;i++)
{
if(float(i)/2-int(i/2)) //奇数float(i)/2-int(i/2)=0.5,偶数是0
n=-1,j=5; //如果是奇数,j=5;
else
n=1,j=0; //如果是偶数,j=0;
for(;0<=j&&j<6;j+=n)
{
a[i][j]=m;
m++;
}
}
*/
/* for(i=0;i<6;i++)
for(j=0;j<6;j++)
{
//a[i][j]取i+1,j+1,6-i,6-j中的最小值
a[i][j]=i+1;
if(a[i][j]>j+1)
a[i][j]=j+1;
if(a[i][j]>6-i)
a[i][j]=6-i;
if(a[i][j]>6-j)
a[i][j]=6-j;
}

*/
for(i=0;i<6;i++)
{
for(j=0;j<6;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}

赋值函数我给注释起来了,我用C++写的,输出你可以自己写,a[n][n]可以定义大一些,你自己替换就行,在前面自己写个n的输入函数就行了,我