问题描述
- C语言如何用for循环构建2*2矩阵
-
2*2矩阵:
1 23 4
很简单的矩阵
不过不用scanf输入
直接用for循环输出我想的方法是定义一个变量x=1,然后在for循环里面,每一次x++存入数组
代码:#include<stdio.h> int main() { int a[2][2]; int i,j,x=1; for(i=0;i<2;i++) for(j=0;j<2;j++) { a[i][j]=x; x++; } printf("%d ",a[i][j]); return 0; }
输出结果只有1,实在不解
解决方案
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%d ",a[i][j]);
}
printf("
");
}
这样才能输出矩阵
解决方案二:
C语言for循环
C语言for循环
C语言for循环
解决方案三:
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{
a[i][j]=x;
x++;
}
printf("%d
",a[i][j]);
这种写法等效于
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
a[i][j]=x;
x++;
}
}
printf("%d
",a[i][j]);
楼上 caozhy 的写法能输出你想要的那种矩阵形式,你的问题在于代码根本就不对( printf("%d
",a[i][j]);) 知道现在的i,j是多少吗,都是2,都数组越界了,能出来1 算你幸运.数组指针索引都是从1开始的,记住
解决方案四:
是从0开始的,不过没法改评论啊
解决方案五:
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%d ",a[i][j]);
}
printf("
");
}
解决方案六:
for(i=0;i<2;i++)
{
for(j=0;j<1;j++)
{
printf("%d,",a[i][j]);
}
printf("%d",a[i][j]);
printf("
");
}
解决方案七:
你应该看看变量的作用域,i,j进入for循环后改变的只是临时值 退出for循环就变成了a[0][0]=x=1;
解决方案八:
首先,输出语句应该在一个循环中,这样才能输出全部的元素;
其次,输出之前要先把i,j置为0,让它从最初的数组元素开始输出。
解决方案九:
#include<stdio.h>
int main()
{
int a[2][2];
int i,j,x=1;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{
a[i][j]=x;
x++;
}
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{
printf("%d
",a[i][j]);
}
return 0;
}
时间: 2024-08-03 21:06:09