1. c语言中,如何将两行三列的数组转化成三行两列的数组
#include <stdio.h>
int transpose()
{
int a[2][3];
int i;
int j;
int x=0;
for (i=0;i<2;i++)
for (j=0;j<3;j++)
scanf("%d",&a[i][j]);
for (j=0;j<3;j++)
for (i=0;i<2;i++)
{
x++;
printf(" %d",a[i][j]);
if (x==2)
{
printf("\n");
x=0;
}
}
return 0;
}
int main()
{
transpose();
return 0;}
我也是菜鸟,写的不好请见谅
2. 关于C语言中二维数组问题,如何把两行三列的数转化成三行两列的数,我编的程序错在哪里,求指正
//第一个for循环i从0开始因为C语言规定数组下标从0开始
//a[2[3]的所有元素:
//a[0][0]a[0][1]a[0][2]
//a[1][0]a[1][1]a[1][2]
3. c语言用一个for循环输出三行两列的*号,求代码
#include <stdio.h>
int main(void)
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
printf(" * ");
printf("\n");
}
return 0;
}
已经验证无误~i控制行数j控制列数,望采纳~
4. C语言中如何编程:将两行三列的二维数组转换为三行两列的二维数组
利用矩阵转置就行
#include <stdio.h>
#define MAX 20
int m,n;
void transpose(double a[][MAX],double b[][MAX])
{
int i,j;
for(i=0;i<MAX;i++)
for(j=0;j<MAX;j++)
b[i][j]=a[j][i];
}
void main()
{
int i,j;
double a[MAX][MAX],b[MAX][MAX];
puts("输入矩阵的行,列:");
scanf("%d %d",&m,&n);
puts("输入矩阵元素:");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%lf",&a[i][j]);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(a[i][j]-int(a[i][j])!=0)
printf("%lf ",a[i][j]);
else
printf("%d ",int(a[i][j]));
}
puts("");
}
transpose(a,b);
puts("转置后的矩阵为:");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(b[i][j]-int(b[i][j])!=0)
printf("%lf ",b[i][j]);
else
printf("%d ",int(b[i][j]));
}
puts("");
}
}
5. c语言求出矩阵a和矩阵b的乘积,结果存入矩阵c中,并按矩阵的形式将c打印输出。其中a是3行2列数组
#include<stdio.h>
intmain()
{
inta[3][2],b[2][4],c[3][4]={0},i,j,k,temp;
printf("输入数组a[3][2]: ");
for(i=0;i<3;i++)//初始数组a[3][2]的录入
for(j=0;j<2;j++)
scanf("%d",&a[i][j]);
printf("输入新的数组b[2][4]: ");
for(i=0;i<2;i++)//录入数组b[2][4]
for(j=0;j<4;j++)
scanf("%d",&b[i][j]);
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
temp=0;
for(k=0;k<2;k++)
temp+=a[i][k]*b[k][j];
c[i][j]=temp;
}
}
printf("a、b矩阵相乘后的c矩阵: ");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%d",c[i][j]);
printf(" ");
}
return0;
}
代码调试成功哈。。。
6. 用c语言从键盘输入一个2行3列的数组,然后再转换成一个三行两列的数组输出
#include<stdio.h>
intmain()
{
inta[2][3];
intb[3][2];
inti,j;
printf("Input: ");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
b[j][i]=a[i][j];
}
}
printf("Output: ");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
printf("%d",b[i][j]);
}
printf(" ");
}
return0;
}
Input:
123
456
Output:
14
25
36
7. c语言中,如何将三行四列的数组乘四行二列数组转化成三行两列的数组
#include <stdio.h>
int transpose()
{
int a[2][3];
int i;
int j;
int x=0;
for (i=0;i<2;i++)
for (j=0;j<3;j++)
scanf("%d",&a[i][j]);
for (j=0;j<3;j++)
for (i=0;i<2;i++)
{
x++;
printf(" %d",a[i][j]);
if (x==2)
{
printf("\n");
x=0;
}
}
return 0;
}
int main()
{
transpose();
return 0;}
我也是菜鸟,写的不好请见谅
8. c语言编写程序,将一个3行2列的二维数组中行和列元素互换,存到另一个二维数组中,数组元素由键盘输入
解:程序:
#include<stdio.h>
int main()
{
int i, j, a[2][3] = { {1,2,3},{4,5,6} },b[3][2];
printf("array a:\n");
for (i = 0; i <=1; i++)//处理a数组中的一行中各元素
{
for (j = 0; j <= 2; j++)//处理a数组中的某一列元素
{
printf("%5d", a[i][j]);
b[j][i] = a[i][j];
}
printf("\n");
}
printf("array b:\n");
for (i = 0; i<=2; i++)
{
for (j = 0; j <=1; j++)
{
printf("%5d", b[i][j]);
}
printf("\n");
}
return 0;
}
结果:
array a:
1 2 3
4 5 6
array b:
1 4
2 5
3 6
请按任意键继续. . .
9. C语言两行三列转三行两列
#include<stdio.h>
int main()
{
int a[2][3],i,j;
int b[3][2];
printf("请输入一个两行三列的数组:\n");
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
//a[i][j]=b[j][i];这里不能直接换,b数组没赋值
//更改
for(i=0;i<3;i++)
for(j=0;j<2;j++)
b[i][j]=a[j][i];
printf("转换成三行两列之后的数组:\n");
for(j=0;j<3;j++)
{
for(i=0;i<2;i++)
printf("%2d",b[j][i]);
printf("\n");
} //输出我改了一下,输完一行再进行换行
return 0;
}
10. c语言怎么输出数组
这个要用循环输出,也就是好你前面赋值的些一样,这个原因是你定义的数组是一个int类型的。如果是char类型的,就可以用printf("%s",a);