如何用C语言打印出二维数组?

Python09

如何用C语言打印出二维数组?,第1张

假设需要打印的数组为int类型,数组名为Array,Dim1为数组的行,Dim2为数组的列。

int i,j//临时变量

for(i = 0 i < Dim1 i++)//外层循环遍历行

  for(j = 0 j < Dim2 j++)//内层循环遍历列

    {

        printf("%d ",Array[i][j])//访问数组元素并打印

    }

打印数组时(无论几维)都要注意数组下标从0开始,除非刻意放弃下标为0的元素,多存一个元素,此时for循环范围则可从1开始到数组长度。

N个元素中取出M个元素的所有排列

#include <stdio.h>#define MAX 10int used[MAX]int result[MAX]int M, Nvoid print() { int i for(i = 0i <Mi++) printf("%d ", result[i])printf("\n")}void Perm(int step) { int iif (step == M) print()elsefor(i = 0i <Ni++)if (!used[i]) {used[i] = 1 result[step] = i + 1 Perm(step + 1) used[i] = 0 }}main() {scanf("%d %d", &M, &N) Perm(0)}

N个元素中取出M个元素的所有组合

#include<stdio.h>#define MAX 20int c[MAX] = {0}int M, Nvoid print() {int i for(i = 0i <Mi++)printf("%d", c[i + 1]) printf("\n")}void Comp(int m) {if (m == M + 1)print() elsefor(c[m] = c[m - 1] + 1c[m] <= N - M + mc[m]++)Comp(m + 1)}void main() {scanf("%d %d", &M, &N) Comp(1)}

#include

<stdio.h>

#include

<stdlib.h>

int

main()

{

int

r

int

c

int

**array

int

i,

j

scanf("%d%d",

&r,

&c)

/*分配内存*/

for(i

=

0

i

<

r

i++)

{

array[i]

=

(int*)malloc(c)

}

/*输入数组*/

for(i

=

0

i

<

r

i++)

{

for(j

=

0

j

<

c

j++)

{

scanf("%d",

&array[i][j])

}

}

/*输出数组*/

for(i

=

0

i

<

r

i++)

{

for(j

=

0

j

<

c

j++)

{

printf("%d

",

array[i][j])

}

printf("\n")

}

getchar()

return

0

}