算法设计与分析课后习题3.2

    题目:编写一个算法,其功能是给一维数组a输入任意6个整数,假设为:5 7 4 8 9 1 ,然后建立一个具有以下内容的方阵,并打印出来(屏幕输出)。

5 7 4 8 9 1

1 5 7 4 8 9

9 1 5 7 4 8

8 9 1 5 7 4

 4 8 9 1 5 7 

7 4 8 9 1 5

    设计思路:每次把数组的最后一个元素先暂存在一边,然后把其余所有元素后移一位,再把已经先暂存的最后一个元素赋给数组第一个元素。

#include<iostream>
using namespace std;

int main()
{
    int a[]={5,7,4,8,9,1};
    int t;
    for(int j=0;j!=6;++j)
        cout<<a[j]<<" ";
    cout<<endl;
    for(int i=1;i!=6;++i)
    {
        t=a[5];
        for(int n=4;n!=-1;--n)
            a[n+1]=a[n];
        a[0]=t;
        for(int k=0;k!=6;++k)
            cout<<a[k]<<" ";
        cout<<endl;
    }
}

posted @ 2008-10-19 15:46  mzlogin  阅读(283)  评论(0编辑  收藏  举报