山东理工——1523
Problem Description
输入n个整数,输出由这些整数组成的n行矩阵。
Input
第一行输入一个正整数N(N<=20),表示后面要输入的整数个数。
下面依次输入N个整数。
Output
以输入的整数为基础,输出有规律的n行数据。
Sample Input
5
3 6 2 5 8
Sample Output
3 6 2 5 8
8 3 6 2 5
5 8 3 6 2
2 5 8 3 6
6 2 5 8 3
分析:
下一行的第n位于上一行的第n-1位相同,第一位与上一行的最后一位相等
代码如下:
#include<stdio.h>
int main(void)
{
int t,j,i,n,a[16];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
if(i==n-1)
printf("%d\n",a[i]);
else
printf("%d ",a[i]);
}
for(j=1;j<n;j++)
{
t=a[n-1];
for(i=n-1;i>0;i--)
a[i]=a[i-1];
a[0]=t;
for(i=0;i<n;i++)
{
if(i==n-1)
printf("%d\n",a[i]);
else
printf("%d ",a[i]);
}
}
return 0;
}