一道面试题(机考),求数据结构和算法高手。该怎么解决

一道面试题(机考),求数据结构和算法高手。。。
有1-200个数字,将他们逆时针排序,放在数组10*20中,然后输出来,怎么弄哇。。

这个题目的算法思路我很清楚,但是代码就是敲不出来。。。。。。。求高手指点下。。。。。源代码给给我参考下,不甚感激。。。这道题没做出来,后来HR给我找了个懂技术的人,说是给我知道。。。但是,他得思路一开始也走叉了。后来,我将自己的思路告诉他。。。。。。之后,他就问了我其他的问题,丝毫没有说这道题该怎么敲代码。。。。汗,我也不好继续追问。。。。。
------解决方案--------------------
http://acm.nyist.net/JudgeOnline/problem.php?pid=33

 
#include <stdio.h>
#include <iostream>
using namespace std;
#define MAXN 110
int a[MAXN][MAXN]={0};
int main()
{
    int n,x,y,t=1;
    cin>>n;

    a[x=0][y=n-1]=1;
    while(t<n*n)
    {
        while(x+1<n&&!a[x+1][y]) a[++x][y]=++t;
        while(y-1>=0&&!a[x][y-1]) a[x][--y]=++t;
        while(x-1>=0&&!a[x-1][y]) a[--x][y]=++t;
        while(y+1<n&&!a[x][y+1]) a[x][++y]=++t;
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }

    return 0;
}