版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Legends_Never_Die/article/details/83690230
void m_prinf(int a[][10],int ar,int ac,int br,int bc,bool dir)
{
if(dir)
{
while(ac!=bc+1)
{
printf("%d ",a[ar--][ac++]);
}
}
else
{
while(br!=ar+1)
{
printf("%d ",a[br++][bc--]);
}
}
}
void f(int a[][10],int n,int m)
{
int rEnd=n,cEnd=m;
int ar=0,ac=0,br=0,bc=0;
bool dir=true;//斜线上为true
while(ac!=cEnd)
{
m_prinf(a,ar,ac,br,bc,dir);
ar==rEnd-1?ac++:ar++;
bc==cEnd-1?br++:bc++;
dir=!dir;
}
}
int main(int argc, char *argv[]){
int a[10][10];
int n,m;
while(~scanf("%d%d",&n,&m))
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
scanf("%d",&a[i][j]);
f(a,n,m);
}
return 0;
}