zoukankan      html  css  js  c++  java
  • 一道c++面试题 输入一个维度,逆时针打印出一个指定的矩阵

    题目:逆时针打印矩阵元素

    #include <stdio.h>
    #include <malloc.h>
    
    int main()
    {
        int dimension;
        int *p;
        int startx, starty, endx, endy;
        int i, j, value = 0;
        
        printf("Please input dimension:");
        scanf("%d", &dimension);
        p = (int *)malloc(sizeof(int)*dimension*dimension);
        startx = 0;
        starty = 0;
        endx = dimension - 1;
        endy = dimension - 1;
        
        while(startx <= endx)
        {
            if(startx == endx) //只剩一个点需要赋值
            {
                p[endy*dimension+endx] = value++;
                break;
            }
            for(i = starty, j = startx; i <= endy; i++) //从上到下
            {
                p[i*dimension+j] = value ++;
            }
            
            for(i-=1, j = startx+1; j <= endx; j++) //从左到右, i在从上到下的输入中已经超出了矩阵范围,所以需要减1
            {
                p[i*dimension+j] = value++;
            }
            
            for(j-=1, i -= 1; i >= starty; i--) //从下到上
            {
                p[i*dimension+j] = value++;
            }
            
            for(i+=1, j -= 1; j > starty; j--) //从右到左
            {
                p[i*dimension+j] = value++;
            }
            
            startx ++;
            starty ++;
            endx --;
            endy --;
        }
        
        for(i = 0; i < dimension*dimension; i++)
        {
            if(0 == i%dimension)
                printf("
    ");
            printf("%3d ", p[i]);
        }
        printf("
    
    ");
        
        return 0;    
    }

    运行效果如下:

    本文主要参考:http://blog.csdn.net/laoniu_c/article/details/38085767

  • 相关阅读:
    配置日志
    部署项目到jetty
    部署web应用程序到tomcat
    spring boot 整合mybatis
    创建spring boot 项目
    发送http请求
    pom.xml文件中dependency标签的scope子标签
    Ubuntu apparmor何方神圣
    Ubuntu Nginx下配置网站ssl实现https访问
    打造私有的DNS 服务
  • 原文地址:https://www.cnblogs.com/www-caiyin-com/p/6757784.html
Copyright © 2011-2022 走看看