2 qq 33745025 qq_33745025 于 2016.04.17 13:03 提问

如何用c定义一个全零的n行n列数组,求大神帮忙!

如何用c定义一个全零的n行n列数组,比如,mstlab中的a=zero(n,1),怎么用c编写?求大神帮忙!

2个回答

herozhangbz
herozhangbz   2016.04.17 14:18
已采纳

首先你先宏定义你的N比如#define N 10或者在主函数里面声明const int N=10;

     int i,j;
     int a[N][N]={0};
    //int a[N][N];
    //for(i=0;i<N;i++)
    //  for(j=0;j<N;j++)
    //      a[i][j]=0;
    for(i=0;i<N;i++)
    {
    for(j=0;j<N;j++)
        printf("%d\t",a[i][j]);
    printf("\n");
    }

给a[N][N]赋值有几种方法,一个就是int a[N][N]={0};另一个就是我注释掉的部分。
如果你的N是不确定的需要用户输入记录的就用另外一个方法。引用#include 可用malloc()函数在“堆”空间申请内存。可参考下面的链接
http://zhidao.baidu.com/link?url=JjGbex-ahDzddDfB3dMMZlnsLSVvNaGXblM52F8nnqCZQKwgEwoeJaFsq-F2-aNDSYnh9sEpT8yy0rXTJvGQka

herozhangbz
herozhangbz 别忘了采纳哦
2 年多之前 回复
qq_33745025
qq_33745025 非常感谢!
2 年多之前 回复
cww97
cww97   2016.04.17 16:37

定义全局变量,在int main 上面

qq_33745025
qq_33745025 谢谢
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
python创建n行m列数组
 >>> matrix=[None]*2 >>> print(matrix) [None, None] >>> for i in range(len(matrix)):  matrix[i  ]=[0]*3 >>> print(matrix) [[0, 0, 0], [0, 0, 0]] >>> 例 n = 2  m = 3  matrix = [None]*2  f
C语言小试题:找出M行N列矩阵的行最大值,存入数组并输出。
输入M行N列的矩阵,求每一行的最大值,并按相应的次序将其存放到长度为M的一维数组中,然后输出。
n行n列的二维整型数组,n从键盘输入(n不超过10)。将该数组的每一列由小到大排序后输出。
分析:要求将每列从小大到大排列,则应该将每列分开考虑,一列一列的来 代码: #include main() { int n,i,j,k,a[11][11]={0},t; printf("输入n:"); scanf("%d",&n); printf("输入%d行%d列元素:\n",n,n); for (i=0;i<n;i++) for (j=0;j<n;j++) scanf(
M行N列数组转置
转置时,遍历原来数组的列,取出数据之后,放入新数组的行中,转置嘛就是把原来数组的行变列,列变行。 public static void main(String[] args) { int M =3; int N =4; int [][] a = new int [M] [N]; int [][] b = new int [N] [M]; in
求N*M矩阵的转置矩阵(C语言)
用二维数组求转置矩阵,注意点在定义数组时明确说明其大小(本人出错点-。-)。
给定一个m×n矩阵,如果一个元素为0,则将其整行和列的值设置为0.
本题源自LeetCode -------------------------------------------------- 思路1  遍历整个数组,遇到0  就把整行和整列不为0 的值置为* ,然后再次遍历数组把* 换为0 void setZeroes(vector > &matrix) { int rows=matrix.size(); int col
从键盘输入行数m,列数n,从堆上动态分配一个m行,n列的int型二维数组,并从键盘
这是今天在百度知道上看到的问题,一开始感觉很简单,就感觉没有难度只是scanf,printf之类的,后来实在是无聊就想着回答一下吧,但是当我回答的时候发现这道题并不是那么简单,他需要对内存理解的很透彻的情况下才可以做出来,首先第一个难点在于他是动态的二维数组,我想了第一个解决办法是这样的 #include "stdio.h" #include "stdlib.h" int main() {
C语言:利用指针编写程序,定义一个3行3列的二维数组,并在程序中对其进行赋值,数组元素的类型不限,输出该二维数组以及各行的均值
题目来源:大工慕课 链接 作者:Caleb Sung 题目要求 利用指针编写程序,定义一个3行3列的二维数组,并在程序中对其进行赋值,数组元素的类型不限,输出该二维数组以及各行的均值,各行的均值可直接输出,也可存储于维数组中再输出 a.输出二维数组时要求使用指向数组的指针变量 b.计算各行的均值时要求使用指针数组 注意: 数组指针和指针数组的区别 这部分请参考我的文章《C...
用Java转换n行m列的二维数组转换为m行n列的数组输出
package com.dasenlin.testmapvalue; /** * 3行13列换成13行3列 * @author Administrator * */ public class TestZhuanHuan { public static void main(String[] args) { int[][] num; //定义一个int类型的2维
01矩阵最大正方形
【题目描述】 给定一个R行C列的01矩阵,求一个最大的正方形全1子矩阵,并输出该最大正方形子矩阵的面积。 【输入】 第一行给出两个正整数R,C,表示矩阵有R行C列; 接下来R行C列给出这个01矩阵,行内相邻两元素用一个空格隔开。 【输出】 一个数,最大正方形子矩阵的的面积(即1的个数)。 输入输出样例】 matrix.in matrix.out