用一个for循环打印N维数组

48 篇文章 2 订阅
/******************************************************
用一个for循环打印N维数组
一维就不说了
二维:
 for(int i=0;i<x*y;i++)
    {
                printf("%d ",a[i/y][i%y]);
    }
三维:
 for(int i=0;i<x*y*z;i++)
    {
                printf("%d ",a[i/(y*z)][(i/z)%(y)][i%z]);
    }
四维:
for(int i=0;i<x*y*z*h;i++)
    {
                printf("%d ",a[i/(y*z*h)][(i/(z*h))%(y)][i/h%z][i%h]);
    }
N维:
for(int i=0;i<n1*n2*n3*...*nn;i++)
    {
                printf("%d ",a[i/n2*n3*n4*...nn][(i/(n3*n4*...nn))%n2][(i/(n4*n5*...nn))%n3]...[(i/nn%n(n-1)][i%nn);
    }



*******************************************************/





#include<stdio.h>
#define maxx 2
#define maxy 2
#define maxz 2
#define maxh 3
/*int main(void)
{
        int a[maxx][maxy]={1,2,3,4,5,6};
        for(int i=0;i<maxx*maxy;i++)
    {
                printf("%d ",a[i/maxy][i%maxy]);
    }


}*/
/*int main(void)
{
        int a[maxx][maxy][maxz]={  {{1,6,3},{5,4,15}}   ,{{3,5,33},{23,12,7}} ,{{1,2,3},{4,5,6}}    };
        for(int i=0;i<maxx*maxy*maxz;i++)
    {
                printf("%d ",a[i/(maxy*maxz)][(i/maxz)%(maxy)][i%maxz]);
    }
}*/
int main(void)
{
        int a[maxx][maxy][maxz][maxh]={ { {{1,6,3},{5,4,15}}   ,{{3,5,33},{23,12,7}}},{   {{1,6,3},{5,4,15}}   ,{{3,5,33},{12,7,5 }}   }};
        for(int i=0;i<maxx*maxy*maxz*maxh;i++)
    {
                printf("%d ",a[i/(maxy*maxz*maxh)][(i/(maxz*maxh))%(maxy)][i/maxh%maxz][i%maxh]);
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值