美团面试题 将一个n X n二维数组逆时针旋转45度后打印
2015-09-08 14:18
405 查看
#include<stdio.h>
void RotatePrint(int a[][3],int n)
{
int start = 0;
int end = n-1;
for(int i=2;i>=0;i--)
{
start = 0;
end = i;
while(end < n)
{
printf("%d ",a[start++][end++]);
}
printf("\n");
}
for(int i=1;i<n;i++)
{
start = i;
end = 0;
while(start<n)
{
printf("%d ",a[start++][end++]);
}
printf("\n");
}
}
int main()
{
int a[3][3] ={{1,2,3},{4,5,6},{7,8,9}};
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("after rotate\n");
RotatePrint(&a[0],3);
return 0;
}
运行结果:
void RotatePrint(int a[][3],int n)
{
int start = 0;
int end = n-1;
for(int i=2;i>=0;i--)
{
start = 0;
end = i;
while(end < n)
{
printf("%d ",a[start++][end++]);
}
printf("\n");
}
for(int i=1;i<n;i++)
{
start = i;
end = 0;
while(start<n)
{
printf("%d ",a[start++][end++]);
}
printf("\n");
}
}
int main()
{
int a[3][3] ={{1,2,3},{4,5,6},{7,8,9}};
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("after rotate\n");
RotatePrint(&a[0],3);
return 0;
}
运行结果:
相关文章推荐
- 面试题 - 字符串逆序
- 前端面试题系列
- 程序员能看懂的笑话
- 最老程序员创业开发实训7---Cocoa Touch Framework实现Splash屏幕功能
- 面试题 20
- 黑马程序员—————Java基础--------正则表达式
- 剑指offer——面试题:47不用加减乘除做加法
- 面试题36数组中的逆序对
- 由一道腾讯面试题引发的关于递归函数使用的各种情况总结
- 剑指Offer:面试题3 二维数组中的查找
- 人事面试题目总结
- 剑指offer——面试题47:圆圈中最后剩下的数字
- Java面试题:如何对HashMap按键值排序
- Java程序员应该知道的10个调试技巧
- 面试题 19
- 黑马程序员——多线程+单例设计
- 【.Net码农】初试T4模板
- 一些面试常考知识点
- 二分查找,递归与非递归实现
- 面试题摘选