标题:求N*N的数字旋转方阵(N为偶数没问题,N为质数N*N的那个数就为乱码)
只看楼主
zfw1994
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-3-31
 问题点数:0 回复次数:0 
求N*N的数字旋转方阵(N为偶数没问题,N为质数N*N的那个数就为乱码)
#include <iostream>
#include<iomanip>
using namespace std;
void main ()
{
    int N,n,s=1,a[10][10];
    cout<<"Plese input number:";
    cin>>N;
    if(N%2==0)
        n=N/2;
    else
        n=(N-1)/2;
    for (int d=0;d<=n-1;d++)
    {
        for(int j=d;j<N-1-d;j++)
            a[j][d]=s++;
        for(int k=d;k<N-d-1;k++)
            a[N-1-d][k]=s++;
        for(int l=N-d-1;l>d;l--)
            a[l][N-1-d]=s++;
        for(int m=N-1-d;m>=1+d;m--)
            a[d][m]=s++;

    }
    cout<<endl<<endl;
    for(int c=0;c<=N-1;c++)
    {
        for(int b=0;b<=N-1;b++)
            cout<<setw(6)<<a[c][b];
        cout<<endl;
    }
}
搜索更多相关主题的帖子: include number 
2014-03-31 21:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-429474-1-1.html




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

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