9X9矩形方阵 C语言编

来源:百度知道 编辑:UC知道 时间:2024/05/24 08:19:01
111111111
111111111
122222221
123333321
123444321
123454321
123444321
123333321
122222221

题目要求输出打印结果如上,但是不是单纯的定义数列,打印结果,而是通过FOR语句,推算出a[9][9]的值,最后打印结果为上面的9X9矩形阵.

老师给我的提示是:
考虑a[i][j]的值应该是多少,还有,a[j][i]和a[n-i-1][j],a[j][n-i-1]的值又是多少?(n代表的就是数列里的底标a[n][n]).

这是我自己打的单纯的给出数列,求结果的:
#include <stdio.h>
void main()
{
int a[9][9]={{111111111},{122222221},{123333321},{123444321},{123454321},{123444321},{123333321},{122222221},{111111111}};
int i,j;
for (i=0;i<9;i++)
{
for (j=0;j<1;j++)
{
printf("%d",a[i][j]);
}
printf("\n");

}
}

应该是在此基础上做改动.但是a[9][9]是不可以赋值的.要通过循环来求出.
只用2重FOR循环语句.......
2楼的朋友,我运行你的程序怎么总有一个错误:
fatal error C1004: unexpected end of file found
3楼的朋友....我说的是通过2重循环来确认该输入的数字,不是通过IF判断...你这种跟我的不一样么

解决方案
int i,j;
int v,q;
int mini;
for (i=0;i<9;i++)
{
for (j=0;j<1;j++)
{
v=9-i;
q=9-j;
mini=10;
if(i+1<mini)
{
mini=i+1;
}
if(j+1<mini)
{
mini=j+1;
}
if(v<mini)
{
mini=v;
}
if(q<mini)
{
mini=q;
}
printf("%d",mini);
}
printf("\n");

}
}

111111111
122222221
123333321
123444321
123454321
123444321
123333321
122222221
111111111
是要这个结果吧
规律是
1 9-0个1
12 9-2个2
123 9-4个3
1234 9-6个4
12345 9-8个5
1234 ...
123 ...
12 ...
1 ...
只能帮你分析这么多了
头脑不太清晰

如下:
#include <stdio.h>
void main()
{
int i,j;
for (i=0;i<9;i++)
{