数组
3.编程实现:求2行3列二维数组中的数据,按行的顺序依次放到一维数组中#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void main()
{
int i, j;
int a;
int b;
printf("请输入一个2x3的矩阵:\n");
for (i = 0; i < 2; i++)
for (j = 0; j < 3; j++)
scanf("%d",& a);
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
printf("%d\t",a);
printf("\n");
}
for (i = 0; i < 6; i++)
printf("%d\t", b);
}
为什么放到一维数组里面就变成这样了? 本帖最后由 jackz007 于 2020-11-19 18:21 编辑
你先说说, b[] 里面为什么会有值,代码中的 b[] 可是从未接受过任何赋值!
只有像下面这样定义 b,才能收到想要的结果:
int * b = a ;
因为你并没有放到一维数组当中
#include <stdio.h>
int main()
{
int i,j,k=0;
int a;
int b;
printf("请输入一个2x3的矩阵:\n");
for (i = 0; i < 2; i++)
for (j = 0; j < 3; j++)
scanf("%d",&a);
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
{
printf("%d\t",a);
b=a;
k++;
}
printf("\n");
}
for(i=0;i<6;i++)
printf("%d ",b);
return 0;
}
增加一个一维数组的循环变量 k
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void main()
{
int i, j, k = 0;
int a;
int b;
printf("请输入一个2x3的矩阵:\n");
for (i = 0; i < 2; i++)
for (j = 0; j < 3; j++)
scanf("%d", &a);
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
{
b = a;
k++;
printf("%d\t", a);
}
printf("\n");
}
for (i = 0; i < 6; i++)
printf("%d\t", b);
}
页:
[1]