C语言中,假如定义一个3*3的数组,怎么才能一次输入3个数,然后分别赋值给第一行,再输3个数赋值给第二行
假如定义一个3*3的数组,怎么才能一次输入3个数,然后分别赋值给第一行(以空格区分,以回车结束),再输3个数赋值给第二行,以此类推...
假如定义一个3*3的数组,怎么才能一次输入3个数,然后分别赋值给第一行(以空格区分,以回车结束),再输3个数赋值给第二行,以此类推
展开
展开全部
int matrix[3][3];
scanf("%d %d %d",&matrix[0][0],&matrix[0][1],&matrix[0][2]);//first row
scanf("%d %d %d",&matrix[1][0],&matrix[1][1],&matrix[1][2]);//second row
scanf("%d %d %d",&matrix[2][0],&matrix[2][1],&matrix[2][2]);//last row
展开全部
3*3是二维数组,那么你就能a[1][i](i用for从0到2)依次scanf 啊啊,就这么简单啊。。
追问
看了上面的才明白你说的意思。。反应慢。。
追答
你用for循环输入第一行,因为二维数组是可以看做几个一维数组又组了个一维数组,而且你每一行个数是确定的
int a[3] = 0;
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
你试试这个,我记得应该是可以空格分隔的啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a[3][3],i; for ( i=0;i<3;i++ ) scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);
也可以:
int a[3][3],i,j; for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) scanf("%d",&a[i][j]);
也可以:
int a[3][3],i,j; for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) scanf("%d",&a[i][j]);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询