输入一个n ,然后在屏幕上打印出NxN 的矩阵!
2008-07-31 23:39
330 查看
void nMatrix(int n)
{
int *p = new int[n*n];
int i, j, k, num, index, INC = 1;
num = 1;
k = n;
i = 0;
j = -1;
while(num <= n*n)
{
index = 0;
while(index++ < k)
{
j += INC;
*(p+i*n+j) = num;
num++;
}
k -= 1;
index = 0;
while(index++ < k)
{
i += INC;
*(p+i*n+j) = num;
num++;
}
INC = -INC;
}
cout << endl << n << "矩阵的回旋数为:/n/n";
for(i=0; i<n*n; i++)
{
cout << setw(5) << *(p+i) << ' ';
if((i+1)%n == 0)
cout << endl;
}
delete[] p;
}
{
int *p = new int[n*n];
int i, j, k, num, index, INC = 1;
num = 1;
k = n;
i = 0;
j = -1;
while(num <= n*n)
{
index = 0;
while(index++ < k)
{
j += INC;
*(p+i*n+j) = num;
num++;
}
k -= 1;
index = 0;
while(index++ < k)
{
i += INC;
*(p+i*n+j) = num;
num++;
}
INC = -INC;
}
cout << endl << n << "矩阵的回旋数为:/n/n";
for(i=0; i<n*n; i++)
{
cout << setw(5) << *(p+i) << ' ';
if((i+1)%n == 0)
cout << endl;
}
delete[] p;
}
相关文章推荐
- 输入一个n,在屏幕上打印出N*N的矩阵(华为面试题)
- 输入N,在屏幕上打印出N X N 的矩阵,使用动态内存分配 int ** num
- 编写一个程序,一行行地读取输入行,直至到达文件尾。算出每行输入行的长度,然后把最长的那行打印出来。为了简单起见,你可以假定所有的输入行均不超过1000个字符。
- 编写一个程序读入一行输入,然后反向打印该行,您可以把输入存储在一个char数组中: 假定该行不超过255个字符。回忆一下,您可以使用具有%c说明符的scanf()从输入中一次 读入一个字符,而且当您按
- 华为面试题 输入一个n,在屏幕上输出N*N的矩阵
- 输入一个矩阵,由外向里顺时针打印数字
- 给一个正整数N,打印NxN的蛇形矩阵(二) 之空间复杂度O(1)
- 8.不断 要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出(return)
- java-51-输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
- 剑指offer_输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
- 黑马程序员之C#编程基础学习笔记:提示用户输入两个整数(假设i1,i2)。如果i1,i2都是正数,则将i2的值递增一个数,然后打印i1+i2的值;如果i1,i2都是负数,则将i1的值递减10个数,然后
- zigzag数组:输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组
- 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 解答: 分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解
- 输入一个数n,然后打印出2的n次方
- 输入两个数,第一个数决定一个nXn的矩阵
- 剑指offer面试题:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
- 编写一个程序,要求输入两个浮点数,然后打印出用二者的差值除以二者的乘积所得的结果。在用户非数字的输入之前程序循环处理输入值。
- 输入一个矩阵,按照从外到里以顺时针的顺序依次打印每一个数字
- 输入一个nxn矩阵各元素的值,球出两条对角线元素之和
- 输入一个字符串,把这个字符串中的每个单词打印出来,即输出到屏幕