| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 587 人关注过本帖
标题:[求助]为什么数据没改变?
只看楼主 加入收藏
HaPpY随心
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-9-28
收藏
 问题点数:0 回复次数:13 
[求助]为什么数据没改变?

//输出螺旋方阵
#include <iostream>
using namespace std;

void main()
{

int i,j,n,k;
int a[100][100];
cout <<"请输入方阵的阶数:"<<endl;
cin >>n;

a[0][0]=1;
for(k=n;k<(n+1)/2;k--,a[n-k][n-k]=a[n-k][n-k+1]+1)
{
i=n-k;
for(j=n-k+1;j<k;j++)
{
a[i][j]=a[n-k][n-k]+j;
}
j=k-1;
for(i=n-k+1;i<k;i++)
{
a[i][j]=a[n-k][k-1]+i;
}
i=k-1;
for(j=k-1-1;j>=n-k;j--)
{
a[i][j]=a[k-1][k-1]+(k-1)-j;
}
j=n-k;
for(i=k-1-1;i>n-k;i--)
{
a[i][j]=a[k-1][n-k]+(k-1)-i;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cout <<a[i][j];
cout <<"\t";
}
cout <<endl;
}
}

搜索更多相关主题的帖子: 数据 
2007-10-04 11:02
HaPpY随心
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-9-28
收藏
得分:0 
想输出类似:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
2007-10-04 11:33
xhtang
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-10-1
收藏
得分:0 

#include<stdio.h>
void main()
{
int i,j,n,m,z,k,p; int a[11][11];
scanf("%d",&n);
p=n;
z=1;
m=(n+1)/2;
for(k=1;k<=m;k++,n--)
{
for(i=k, j=k; j<=n;j++)
a[i][j]=z++;

for(i=i+1, j=j-1; i<=n; i++)
a[i][j]=z++;
for(j=n-1,i=i-1;j>=k;j--)
a[i][j]=z++;
for(j=j+1,i=i-1;i>k;i--)
a[i][j]=z++;
}

for(i=1;i<=p;i++)
{
for(j=1;j<=p;j++)
printf("%-4d",a[i][j]);
printf("\n");
}

}


帮助别人是我的快乐! 别人帮我,我心存感激!
2007-10-04 15:03
canyue
Rank: 1
等 级:新手上路
威 望:1
帖 子:159
专家分:0
注 册:2007-10-4
收藏
得分:0 
可用行指针和列指针操作。

别看我现在只有这么亮,总有一天会月圆的!
2007-10-04 15:15
HaPpY随心
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-9-28
收藏
得分:0 
回复:(xhtang)#include void main(...
谢谢3楼
要是想输出改为:
1 2 3 4 5
16 17 18 19 6
15 22 21 20 7
14 23 24 25 8
13 12 11 10 9

或者:

25 24 23 22 21
10 9 8 7 20
11 2 1 6 19
12 3 4 5 18
13 14 15 16 17
应该怎么改呢?
2007-10-04 16:10
oppe
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-10-4
收藏
得分:0 
25 24 23 22 21
10 9 8 7 20
11 2 1 6 19
12 3 4 5 18
13 14 15 16 17
3楼程序输出时该成printf("%-4d",26-a[i][j]); 就行了
2007-10-04 17:02
HaPpY随心
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-9-28
收藏
得分:0 
感谢6楼;
1 2 3 4 5
16 17 18 19 6
15 22 21 20 7
14 23 24 25 8
13 12 11 10 9
应该怎么改呢
2007-10-04 17:16
oppe
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-10-4
收藏
得分:0 

N是一定的吗?

2007-10-04 17:38
oppe
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-10-4
收藏
得分:0 
#include<stdio.h>
int main()
{
int a[20][20],i,j,k,n;
scanf("%d",&n);
for(j=0;j<n;j++) a[0][j]=j+1;
for(i=1;i<n;i++) a[i][n-1]=n+i;
for(k=--j+i--;j>=0;j--) a[n-1][j]=k++;
for(i--;i;i--) a[i][0]=k++;
for(i=1;i<n-1;i++)
if(i%2)
for(j=1;j<n-1;j++) a[i][j]=k++;
else for(j=n-2;j;j--) a[i][j]=k++;
for(i=0;i<n;i+=printf("\n"))
for(j=0;j<n;j++)
printf("%-4d",a[i][j]);
}
2007-10-04 18:09
HaPpY随心
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-9-28
收藏
得分:0 

不一定的,N由键盘
输入

2007-10-04 18:41
快速回复:[求助]为什么数据没改变?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029650 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved