【问题描述】
输入整数n,生成一个一维数组,并对该数组进行循环移位输出。
【输入形式】
输入一个整数,范围1-9
【输出形式】
输出一个矩阵。矩阵中同一行中的数据与数据之间只有一个空格
【样例输入】
5
【样例输出】
0 1 2 3 4
4 0 1 2 3
3 4 0 1 2
2 3 4 0 1
1 2 3 4 0
用的指针和一维数组
有点繁琐
主要思路就是用指针可以移来移去的特点
#include<iostream>
using namespace std;
int main()
{
int n, a[10] = {0,1,2,3,4,5,6,7,8 ,9},j,*p,b=1;
cin >> n;
p = &a[0];
a[n ] = 0;
j = 0;
for (int i = 0; i < n; i++)
{
if (b == 1)
{
for (int j = 0; j < n; j++)
{
cout << *p<<" ";
p = p + 1;
}
p = p - 1;
cout << endl;
}
if (b == 0)
{
for (int j = 0; j < n; j++)
{
if (p == &a[n - 1])
{
cout << *p<<" ";
j = j + 1;
p = &a[0];
}
cout << *p<<" ";
p = p + 1;
}
cout << endl;
if ( p != &a[0])
p = p - 1;
}
b =0;
}
}