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

    称号:考虑到用户层面。打印出指定的矩阵,例如,一个给定的用户10,例如,下面的输出应被视为在图:

    程序如下所示:

    #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;	
    }
    

    程序执行结果:


    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    数论模板
    acdream1116 Gao the string!(扩展KMP)
    后缀数组模板
    Codeforces446C DZY Loves Fibonacci Numbers(线段树 or 分块?)
    acdream1116 Gao the string!(hash二分 or 后缀数组)
    SPOJ375 Query on a tree(LCT边权)
    krpano HTML5 Viewer可以实现全景展示
    Chrome 前端 插件
    canvas 星空插件
    jQuery插件开发
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4750932.html
Copyright © 2011-2022 走看看