这个有好几种写法吧以前写的一个测试.时间好像用了挺久呢.输入三个数.长.宽.方向.(为零向左旋.不为零向右)#include "stdio.h"int main(){
int i,j,t;
while(scanf("%d%d%d",&j,&i,&t)!=EOF){
int n=1,h=0,s=0, k[31][31]={{},{}};
i--;j--;
while(t){
k[h]=n++;
if((h>=s || k[s-1][h]!=0) && h0 && k[s-1][h]==0)s--;
else break;
}
while(!t){
k[h]=n++;
if((s>=h || k[h-1]!=0) && s0 && k[s-1][h]==0)s--;
else if( h>0 && k[h-1]==0)h--;
else break;
}
for(s=0;s<=i;s++){
for(h=0;h<=j;h++){
printf("%4d",k[h]);
}
printf("\n");
}
printf("\n");
}
return 0;}
|