C语言:输入一个2*3的整数矩阵和一个3*2的整数矩阵,使用指针数组实现这两个矩阵的相乘。程序如下:

作者&投稿:太可 (若有异议请与网页底部的电邮联系)
C语言(指针): 编写一个函数实现n*n矩阵转置。在主函数中用scanf输入矩阵元素;将数组名作为函数实参。~

好吧,简单说下:void fun( float a[][])
{ int i,j,float t;
for(i=0;a[i][0];i++)
for(j=i;a[i][j];j++)
{t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
这个函数的局限只限于方阵。也只能对上三角元素操作,是因为a[][]数组本身空间的限制,如果采用指针的话:
令p=a;其他注意是对内容**p之类操作即可。不过如果采用引入矩阵b来操作可以完美解决上述问题:
void fun( float a[][],float b[][])
{ int i,j;
for(i=0;a[i][0];i++)
for(j=0;a[i][j];j++)
{b[j][i]=a[i][j];
}
}
最后如果非要用a[][]输出的话,可以用b[][] 回代即可

#include #include int main(){ int a[3][3] = {1,2,3,4,5,6,7,8,9}; int b[3][3] = {9,8,7,6,5,4,3,2,1}; int **pa = a,**pb = b; int i = 0; for (;i<9;++i)//指针实现相加,结果保存在数组a中 { *(pa+i) = *(pa+i) + *(pb+i); } system("pause"); return 0;}直接写的,思路如上,自己再调试一下就行了。

//正确的程序如下:
#include <stdio.h>
void main()
{
int i,j,n,*tem[3];
int p[2][3],q[3][2],r[2][2];
tem[0]=p[0];tem[1]=q[0];tem[2]=r[0];
printf("请输入第1个矩阵:\n");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
r[i][j]=0;
}
}
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",tem[0]+3*i+j);
}
}

printf("请输入第2个矩阵:\n");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
scanf("%d",tem[1]+2*i+j);
}
}

printf("输出2个矩阵相乘得到的矩阵:\n");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
for(n=0;n<3;n++)
{
r[i][j]+=(*(tem[0]+3*i+n))*(*(tem[1]+2*n+j));
}
}
}
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%d\t",*(tem[2]+i*2+j));
}
printf("\n");
}
getch();
}


C语言如何输入一个两个整数运算的计算表达式,输出该表达式和结果,如...
用两个整形变量a,b,使用库函数printf 用两次,两个变量值分别赋2和3即可。

C语言编程 二维数组 输出一个2*3的矩阵
void main(){ int a[2][3];int i,j;printf("输入一个2*3整型数组\\n");for(i=0;i<2;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);printf("\\n输出一个2*3整型数组\\n");for(i=0;i<2;i++){ for(j=0;j<3;j++)printf("%d ",a[i][j]);printf("\\n");} }...

C语言输出一个乘法式子2*5=10?
main ( ){ int a=2,b=5,c;c=a*b;printf("%d ×%d =%d\\n",a,b,c);} 有什么问题请留言。

C语言从键盘输入10个数,放入一个2*5的数组中,然后将其输出,要求第一行...
include <stdio.h>int main(){int a[2][5],i,j;for(i=0;i<2;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);for(i=0;i<2;i++){for(j=0;j<5;j++) printf("%d",a[i][j]);printf("\\n");}return 0;} ...

C语言 输入一个数 如果等于2输出10 小于2输出12 大于2输出123
;else(a > 2);printf("%d\\n", 123);system("pause");return 0;}现在程序没有问题了,你可以试一试哈。scanf()函数是标准C中提供的标准输入函数,用以用户输入数据 scanf_s()函数是Microsoft公司VS开发工具提供的一个功能相同的安全标准输入函数,从vc++2005开始,VS系统提供了scanf_s()。

c语言编程,假设x是一个整数,写一个程序:从键盘上输入它的值,计算y=2x...
include "stdio.h"int main(){ int x,y; scanf("%d",&x); y=2*x+5; printf("%d",y);}

求大神帮忙,编写一个C语言程序,从键盘输入两个整数,输出这两个数之和...
include<iostream> intmain(){ usingnamespacestd;inta,b;cout<<"Pleaseenterthetwonumber:\\n";cin>>a>>b;doublesum=((double)(a+b)\/2*(b-a+1));cout<<sum<<endl;return0;}

c语言程序:输入2个整数,输出结果是多少?
在C语言中,你可以使用以下代码来实现输入两个整数并输出结果:c复制代码 include <stdio.h> int main() { int num1, num2;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);int result = num1 + num2;printf("结果是:%d\\n"...

急急!!!如何用c语言输入和输出一个二维数组??
include <stdio.h> include <stdlib.h> int main(){ int a[2][2];int i,j;for (i=0;i<2;i++){ for (j=0;j<2;j++){ scanf("%d ",&a[i][j]);} } for(i=0;i<2;i++)for(j=0;j<2;j++)printf("%d",a[i][j]);return 0;} 运行成功 ...

如何用C语言编一个程序,输入一个二维数组,然后以一个矩阵的方式输出...
j < 3; j++){ printf("%d\\t", pArr[i][j]);if(j == 2){ printf("\\n");} } for(i=0; i<3; i++)p[i] = array[i];for(i=0; i<3; i++){ sum = 0;for(j=0; j<3; j++){ sum += p[i][j];} printf("第%d行的和是%d\\n", i+1, sum);} } ...

六盘水市17581623750: c语言编程:一个2*3矩阵,求最大值,最小值 -
东方爸奥贝: 思路:先把矩阵的第一个数赋值给最大值和最小值,接着遍历整个矩阵依次和最大值和最小值比较,更新最大值和最小值,最后输出最大值和最小值. 参考代码:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16#include "stdio.h" intmain() {inta[2][3]...

六盘水市17581623750: C语言:输入一个2*3的整数矩阵和一个3*2的整数矩阵,使用指针数组实现这两个矩阵的相乘.程序如下: -
东方爸奥贝: //正确的程序如下:#include <stdio.h> void main() {int i,j,n,*tem[3]; int p[2][3],q[3][2],r[2][2]; tem[0]=p[0];tem[1]=q[0];tem[2]=r[0]; printf("请输入第1个矩阵:\n"); for(i=0;i<2;i++) { for(j=0;j<2;j++) { r[i][j]=0;} } for(i=0;i<2;i++) { for(j=0;j<3;j++) { scanf(...

六盘水市17581623750: 输入一个2*3的矩阵,求矩阵中的最大值和最小值并输出 c语言的,最好结果有截图 -
东方爸奥贝: 示例:2 4 63 1 5 min 1 max 6 程序:# include "stdio.h" void main() { int i, j, min, max, a[2][3]; for (i=0;i<2;i++) for (j=0;j<3;j++) scanf("%d",&a[i][j]); max=a[0][0]; min=a[0][0]; for (i=0;i<2;i++) for (j=0;j<3;j++) { if (a[i][j]>max) max=a[i][j]; if (a[i][j]<min) min=a[i][j]; } printf("\nmin %d\nmax %d\n",min,max); }

六盘水市17581623750: 定义一个2*3矩阵,输入、输出数值 -
东方爸奥贝: 展开全部//参考代码如下:#include int main() { int i,j,a[2][3];//定义整型数组for(i=0;i<2;i++)//输入数组,数组的下标从0开始 { for(j=0;j<3;j++) scanf("%d",&a[i][j]); } for(i=0;i<2;i++) { for(j=0;j<3;j++) printf("%d ",a[i][j]);//输出数组printf("\n");//每一行结束输出回车} return 0; }

六盘水市17581623750: 在C语言中若输入一个2*3的整数矩阵和一个3*2的整数矩阵,使用指针数组实现这两个矩阵的相乘.应怎样推演这个过成呢? -
东方爸奥贝: 若设Q=M*N其中,M是m1*n1矩阵,N是m2*n2矩阵.当n1=m2时有:for (i=1;i<m1; ++i ) for ( j=1; j<=n2; ++j){ Q[i][j]=0; for(k=1; k<=n1; ++k) Q[i][j]+=M[i][k]*N[k][j]; }

六盘水市17581623750: c语言:输入一个2行3列的矩阵A和一个3行4列的矩阵B,计算两矩阵的乘积 -
东方爸奥贝: 解题过程如下:#include <stdio.h>;#include <stdlib.h> #define L 2,#define M 3,#define N 4}printf("\n");}return;}int main(void){double A[L][M] = {{0}}; double B[M][N] = {{0}};double C[L][N] = {{0}};int i = 0, j = 0, k = 0; printf("\nGenerate A[%d][%d]:\...

六盘水市17581623750: C语言编程,求2个3*3矩阵对应元素之和,并存入矩阵C中,然后输出矩阵C -
东方爸奥贝: #include<stdio.h> int main() { int a[3][3],b[3][3],c[3][3]; int i,j; for(i=0; i<3; ++i) for(j=0; j<3; ++j) scanf("%d",&a[i][j]); for(i=0; i<3; ++i) for(j=0; j<3; ++j) scanf("%d",&b[i][j]); for(i=0; i<3; ++i) for(j=0; j<3; ++j) c[i][j]=a[i][j]+b[i][j]; for(i=0; i<3; ++i) { for(j=0; ...

六盘水市17581623750: c语言任意输入一个2x3矩阵,求转置,本人新学,求教 -
东方爸奥贝: b[j][i]=a[x][y]; 这一行里面a[x][y]应该改为a[i][j];求转置就是行列互换,所以这里的变量你需要把两个下标变量互换输入就可以了,x,y是没有不行的.

六盘水市17581623750: C语言实现的矩阵加减乘法 -
东方爸奥贝: #include<stdio.h>/*m1和m2为两个相加的数组首元素地址,r和c为两个数组的行数和列数m用于存放结果.调用该函数时,要求m为有足够存储单元、能容纳运算结果的数组首元素地址 */ void add(int *m,int *m1,int *m2,int r,int c); void sub(int ...

六盘水市17581623750: 用 C语言 求两个矩阵的和 a[2][3]={1,2,3,4,5,6}, b[2][3] ={4,5,6,7,8,9} 帮帮忙! -
东方爸奥贝: #include "stdio.h" main() {int a[2][3]={1,2,3,4,5,6},b[2][3]={4,5,6,7,8,9};int i,j,sum=0;for(j=0;j<2;j++)for(i=0;i<2;i++)sum=sum+a[j][i]+b[j][i];printf("%d\n",sum); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网