| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 918 人关注过本帖
标题:逆时针的蛇形矩阵
只看楼主 加入收藏
q673985652
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-9
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:2 
逆时针的蛇形矩阵
题目:取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和.

输入:n(即n行n列)

输出:n+1行,n行为组成的矩阵,最后一行为对角线数字之和

样例输入:3

样例输出:
5 4 3
6 1 2
7 8 9
25


搜索更多相关主题的帖子: 矩阵 数字 对角线 正方形 中心 
2013-05-09 22:48
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:20 
#include <stdio.h>
int main(int argc, char *argv[])
{int a,d,j,i,n,t,r[100][100],ans=0;      
scanf("%d",&n);  
a=1;
j=1;
d=n;
t=n*n;     
do
{      
    for (j=d;j>=a;j--)         
    {
        r[d][j]=t--;
    }      
    for (i=(d-1);i>=a;i--)        
    {
        r[i][a]=t--;
    }      
    for (j=a+1;j<=(n-a);j++)        
    {
        r[a][j]=t--;
    }      
    for (i=a;i<=d-1;i++)         
    {
        r[i][d]=t--;
    }      
    a=a+1;
    d=d-1;     
}while (a!=n-1);     
if (n==3) r[2][2]=1 ;      
for (i=1;i<=n;i++)      
{  
    for (j=1;j<=n;j++)   
        printf("%4d   ",r[i][j]);         
    printf("\n");            
}
for (i=1;i<=n;i++)
{
    ans+=r[i][i];
    ans+=r[n+1-i][i];
}  
printf("%d",ans-1);  
}

Maybe
2013-05-11 16:05
ykr168age
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-5-12
收藏
得分:0 
这么冷清啊
2013-05-12 22:25
快速回复:逆时针的蛇形矩阵
数据加载中...
 
   



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

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