c 输入两个数,第一个数决定一个nXn的矩阵,第二个数决定从1开始赋值,赋值的上限 (MD花了半天时间,思路不对害死人)

 输入两个数,第一个数决定一个nXn的矩阵,第二个数决定从1开始赋值,赋值的上限 

 比如:

 输入:  

 输出:

 输入:   

 输出:

 #include<stdio.h>

 int main(void)
{
int n,m,i,j,temp;
int dir = ; //0向右,1向下,2向左,3向上,
scanf("%d%d",&m,&n);
int arr[m][m]; //对数组初始化 arr[m][m] = {0}编译不通过
for(i=; i<m; i++)
{
for(j=; j<m; j++)
{
arr[i][j] = ;
}
} i = j = ;
temp = ;
while(temp <= m*m)
{
if(temp > n)break;
arr[i][j] = temp;
switch(dir)
{
case :
{
if(j+ == m || arr[i][j+] > )
{
i++;
dir = ;
}
else j++; break;
}
case :
{
if(i+ == m || arr[i+][j] > )
{
j--;
dir = ;
}
else i++; break;
}
case :
{
if(j - < || arr[i][j-] > )
{
i--;
dir = ;
}
else j--; break;
}
case :
{
if(arr[i-][j] > )
{
j++;
dir = ;
}
else i--; break;
}
}
temp++;
} //打印数组
for(i=; i<m; i++)
{
for(j=; j<m; j++)
{
printf("%3d",arr[i][j]);
}
printf("\n");
}
return ;
}
上一篇:深入浅出JavaScript之原型链&继承


下一篇:当IBM遇见万事达 要为中小企业做点事儿