称号:考虑到用户层面。打印出指定的矩阵,例如,一个给定的用户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("\n");
printf("%3d ", p[i]);
}
printf("\n\n"); return 0;
}

程序执行结果:

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

笔试题&amp;面试题:输入一个维度,逆时针打印出一个指定矩阵的更多相关文章

  1. 一道c++面试题 输入一个维度,逆时针打印出一个指定的矩阵

    题目:逆时针打印矩阵元素 #include <stdio.h> #include <malloc.h> int main() { int dimension; int *p; ...

  2. 如何用一个for循环打印出一个二维数组

    思路分析: 二维数组在内存中默认是按照行存储的,比如一个二维数组{{1,2,3,},{4,5,6}},它在内存中存储的顺序就是1.2.3.4.5.6,也就是说,对于这6个数组元素,按照从0到5给它们编 ...

  3. scala基础题--函数可以没有返回值案例,编写一个函数,从终端输入一个整数,打印出对应的金字塔

    函数可以没有返回值案例,编写一个函数,从终端输入一个整数,打印出对应的金字塔 import scala.io.StdIn object work02 { def main(args: Array[St ...

  4. 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。

    题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输 ...

  5. java用星星符号打印出一个直角三角形

    package debug; public class Demo10 { public static void main(String[] args) { //用星星符号打印出一个直角三角形 for( ...

  6. python脚本3_输入若干个整数打印出最大值

    #输入若干个整数,打印出最大值 # m = int(input('Input first number >>>')) while True: c = input('Input a n ...

  7. 简单编程:如何用java来打印出一个5行的三角形

  8. python 输入一个字符串,打印出它所有的组合

    import itertools str = input('请输入一个字符串:') lst = [] for i in range(1, len(str)+1): lst1 = [''.join(x) ...

  9. java输入一个字符串,打印出该字符串中字符的所有排列,随机打乱排序

    import java.util.ArrayList;import java.util.Collections;import java.util.List; public class Test7{   ...

随机推荐

  1. Remote Desktop Organizer – 管理组织远程桌面 - 小众软件

    http://www.appinn.com/remote-desktop-organizer/

  2. Android Fragment使用

                     通常地 fragment做为宿主activity UI的一部分, 被作为activity整个view hierarchy的一部分被嵌入. 有2种方法你能够加入一个fr ...

  3. 用XAML做网页!!—开篇

    原文:用XAML做网页!!-开篇 这几日一直没发表新文章,一来是因为事比较多,二来就是我在研究使用XAML挑战传统HTML来做网页,这很可能是在全球的首次尝试,至少我从未找到任何可供参考的相关资料. ...

  4. Jquery 对话框确认

    $("#aa").click(function(){ if(confirm("是否继续")){ $(#aa).fadeOut(500); } })

  5. Unity多玩家网络游戏开发教程1章Unity带有网络功能

    Unity网络多玩家游戏开发教程第1章Unity自带网络功能 Unity拥有大量的第三方插件.专门提供了对网络功能的支持. 可是.大部分开发人员第一次接触到的还是Unity自带的网络功能.也就是大家常 ...

  6. android的ViewPager和Animation有些使用(二)

    Animation部分 android的animation分scale,rotate,tranlateAnimation,alpha这些类型的 start animation这里有几种方法: < ...

  7. 内网port映射具体解释(花生壳)

    关于怎样建立服务器的解答. 一.花生壳的作用 首先,我们先来了解一下花生壳的究竟有什么作用.由于ADSL每次拨号上网所获得的IP地址每次都是不同的,花生壳起到的作用就是方便用户訪问我们的server( ...

  8. 【深入浅出jQuery】源码浅析--整体架构(转)

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  9. 掌握Java字节码(转)

    Java是一门设计为运行于虚拟机之上的编程语言,因此它需要一次编译,处处运行(当然也是一次编写,处处测试).因此,安装到你系统上的JVM是原生的程序,而运行在它之上的代码是平台无关的.Java字节码就 ...

  10. Eclipse中为什么创建DynamicWebProject后没有默认的web.xml文件?

    在Eclipse中新建DynamicWebProject的时候不要直接点"完毕",在下一步有个勾选项(Generate web.xml deployment descriptor) ...