本题要求编写程序,先对一个m×n的二维数组赋值,数组元素的值为其行下标和列下标之和,再按照矩阵的形式输出该二维数组。
输入格式:
输入在一行内给出两个正整数m和n(1≤m,n≤6),其间以空格分隔。
输出格式:
按照矩阵的形式输出该二维数组,每个数占4位
输入样例:
3 4
结尾无空行
输出样例:
0 1 2 3
1 2 3 4
2 3 4 5
首先我们对题目进行解析,是二维数组的思想,第一步题目要求输出的数字之和是行和列之和,也就是说比如第一行是a[0],第一个数字也是0所以第一个数字就是0,同理第二个就是a[0],1,加起来等于1.
现在我们进行输入
#include<stdio.h>
int main()
{
int i,j,m,n;
scanf("%d %d",&m,&n);//对行和列进行赋值
int a[m][n];//对二位数组进行定义
第二步就是进行循环,要对行和列进行循环
for(i=0;i<m;i++)//i对行进行循环
{
for(j=0;j<n;j++)//j对列进行循环
第三步就是进行我们刚刚所说的进行加法运算。进行输出。
{
a[i][j]=i+j;//要求输出是行和列之和
printf("%4d",a[i][j]);
第四步就是格式问题我们输出第一行之后进行换行所以要在循环里面进行换行。
}
printf("\n");//第一列循环完之后进行换行
}
最后,我们看看完整的代码。
#include<stdio.h>
int main()
{
int i,j,m,n;
scanf("%d %d",&m,&n);//对行和列进行赋值
int a[m][n];//对二位数组进行定义
for(i=0;i<m;i++)//i对行进行循环
{
for(j=0;j<n;j++)//j对列进行循环
{
a[i][j]=i+j;//要求输出是行和列之和
printf("%4d",a[i][j]);
}
printf("\n");//第一列循环完之后进行换行
}
return 0;
}
本题的 思想就是对二维数组的基本应用和理解。所以同学们要抓清楚二维数组如何定义,构建好思维,就有解题的思路了。