| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 543 人关注过本帖
标题:[螺旋矩阵]输入两个整数,第一个数决定一个 n*n 的矩阵,第二个数决定从 1 ...
只看楼主 加入收藏
Mr_Wendao
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-7-26
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
[螺旋矩阵]输入两个整数,第一个数决定一个 n*n 的矩阵,第二个数决定从 1 开始赋值,赋值的上限。
代码如下:
#include <stdio.h>

#define NUM 20

int main()
{
   
    int xNx[NUM][NUM] = {0};
    int num1,num2,temp=1;
    int i = 0,j = 0;
    scanf("%d %d", &num1, &num2);
    xNx[i][j] = temp;
    while (1) {
        
        while (i != num1-1 && xNx[i+1][j] == 0) {
            if (temp >= num2) {
                break;
            }
            xNx[++i][j] = ++temp;
        }
        
        while (j != num1-1 && xNx[i][j+1] == 0) {
            if (temp >= num2) {
                break;
            }
            xNx[i][++j] = ++temp;
        }
        while (i != 0 && xNx[i-1][j] == 0) {
            if (temp >= num2) {
                break;
            }
            xNx[--i][j] = ++temp;
        }
        while (j != 0 && xNx[i][j-1] == 0) {
            if (temp >= num2) {
                break;
            }
            xNx[i][--j] = ++temp;
        }
        if (temp >= num2) {
            break;
        }
    }
    for (j = 0; j < num1; j++) {
        for (i = 0; i < num1; i++) {
            printf("%d ", xNx[i][j]);
        }
        printf("\n");
    }
    return 0;
}
搜索更多相关主题的帖子: include 
2014-07-26 20:41
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:20 
然后你是来晒代码的?


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2014-07-26 21:06
快速回复:[螺旋矩阵]输入两个整数,第一个数决定一个 n*n 的矩阵,第二个数决定 ...
数据加载中...
 
   



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

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