用C语言怎么设置空间

img


这这一道怎么弄?不要涉及C++,只要C语言,涉及的算法有什么?

很简单的一个二维数组的遍历,其实并没有涉及到算法。

#include<stdio.h>
int main()
{
    int i,j,n,m,sum=0;
    scanf("%d%d",&m,&n);
    int a[m][n];
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
        {
          scanf("%d",&a[i][j]);
          if(a[i][j]==0)
              sum++;
        }
        printf("%d\n",sum);
return 0;
}

很简单的二维数组。。。。
希望能帮到你,如果解惑了,请点下采纳~~~

#include <stdio.h>

#define MAX_NUBS  100

int array_gray[MAX_NUBS][MAX_NUBS];
int main()
{
    int m, n;
    int gray_w = 0;
    printf("input m and n: \n");
    scanf("%d%d", &m, &n);
    for(int i=0; i < m; i++) {
        for (int j=0; j < n; ++j) {
            scanf("%d", &array_gray[i][j]);
        }
    }
    
    for(int i=0; i < m; i++) {
        for (int j=0; j < n; ++j) {
            if (array_gray[i][j] == 0)
                gray_w++;
        }
    }
    
    printf("%d\n", gray_w);
    
    return 0;
}

img


#include<stdio.h>
int main()
{
    int height,width;
    scanf("%d%d",&height,&width);//输入的 6 8分别代表高和宽,也就是二维数组的行标和列标
    int a[height][width];       //创建一个6行8列的二维数组
    int i,j;
    for(i = 0;i < height;i++)
    {
        for(j = 0;j < width;j++)
        {
            scanf("%d",&a[i][j]);//输入0 1
        }
    }

    int count = 0;
    for(i=0;i<height;i++)
    {
        for(j=0;j<width;j++)
        {
            if(a[i][j]==0)//如果是灰色,count+1
                count++;
        }
    }
    printf("%d\n",count);
    return 0;
}

有用的话希望采纳