- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于c語言和java的螺旋方阵
编程序,显示螺旋方阵:???????????1???2???3???4???????????
12??13?14???5??????????
?11??16?15???6?
?????????? 10??9???8???7?
#includestdio.h
#define max 10
int main()
{
int square[max][max];
int i,j,k=1,d=0,n;//d为操作向量
printf(请输入螺旋方阵的阶数n:);
scanf(%d,n);
if(nmax)
{
printf(阶数超过最大值max);
printf(\n);
printf(Please try again);
printf(\n);
}
else
{
for(i=0;in;++i)
{
for(j=0;jn;++j)
square[i][j]=0; /*将方阵各个元素都赋值为零*/
}
i=j=0;
for(;k=n*n;k++)
{
square[i][j]=k;//给数组赋值
switch(d)
{
case 0:
if(0=iin0=(j+1)(j+1)nsquare[i][(j+1)]==0)
j++;/*实现列递加*/
else d=1,i++;
break;//退出switch语句
case 1:
if(0=(i+1)(i+1)n0=jjnsquare[(i+1)][j]==0)
i++;/*实现行递加*/
else d=2,j--;
break;
case 2:
if(0=iin0=(j-1)(j-1)nsquare[i][(j-1)]==0)
j--;/*实现列递减*/
else d=3,i--;
break;
case 3:
if(0=(i-1)(i-1)n0=jjnsquare[(i-1)][j]==0)
i--;/*实现行递减*/
else d=0,j++;
break;
default:break;
}
}
for(int a=0;an;a++)
{
for(int b=0;bn;b++)
{
printf(%3d,square[a][b]);
printf(\t);
}
printf(\n);
}
}
return 0;
}
package java7;
import java.util.Scanner;
public class test5 {
public static void main(String[] args) {
int square[][]=new int[20][20];
int i,j,k=1,d=0;//d为操作向量
System.out.print(请输入螺旋方阵的阶数n:);
Scanner sin=new Scanner(System.in);
int n=sin.nextInt();
if(n20)
{
System.out.print(阶数超过最大值);
System.out.print(Please try again);
}
else
{
for(i=0;in;++i)
{
for(j=0;jn;++j)
square[i][j]=0; /*将方阵各个元素都赋值为零*/
}
i=j=0;
for(;k=n*n;k++)
{
square[i][j]=k;//给数组赋值
switch(d)
{
case 0:
if(0=iin0=(j+1)(j+1)nsquare[i][(j+1)]==0)
j++;/*实现列递加*/
else {
d=1;
i++;
}
break;//退出s
文档评论(0)