C语言如何输入一个m*n的数组,m、n都从键盘输入

如题所述

1、定义所需变量, 数组a的大小必需事先估计,可以取较大的值,这里取20:
int m, n, i, j;
int a[20][20];

2、先输入m和n,用scanf函数,代码如下:
printf("请输入m和n(m < 20, n < 20):");
scanf("%d%d", &m, &n);

3、再输入数组,使用for循环,因为n是最大行数,所以先n放在外循环:
for(i = 0; i < n ; i ++)
{
for(j = 0; j < m ; j ++)
{
printf("请输入第%d行%d列的元素: ", i + 1, j + 1);
scanf("%d", &a[i][j]);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-05
在定义一个的时候,它的第二个维度必须是一个常量,比如你
int a[][];然后输入m,n循环是不合法的。所以你可以预先定义一个,比如int a[][100];(假如预计输入的n小余100),然后用两个把每个值输入
第2个回答  2011-06-18
void main()
{
int m,n,i,j,a[20][20];
scanf("%d%d",&m,&n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
第3个回答  2011-06-18
用动态内存的方式分配
第4个回答  2011-06-18
你这是什么意思?能举个例子吗

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网