用函数的调用怎么实现矩阵的行变换,行倍加以及行辈乘???
1条回答 默认 最新
- CSDN专家-天际的海浪 2022-01-01 22:51关注
你要哪的三种行变换?
能说二具体变换规则吗?
你题目的解答代码如下:
#include<stdio.h> void fun1(int a[3][3]) { int b[3]; int i,n,m; printf("请输入需要交换的两个行\n"); scanf("%d%d",&m,&n); for(i=0;i<3;i++) { b[i]=a[m-1][i]; a[m-1][i]=a[n-1][i]; a[n-1][i]=b[i]; } } void fun2(int a[3][3]) { int i,n,m; printf("请输入被加的行\n"); scanf("%d",&m); printf("请输入加上的行\n"); scanf("%d",&n); for(i=0;i<3;i++) { a[m-1][i] += a[n-1][i]; } } void fun3(int a[3][3]) { int b[3]; int i,n,m,k; printf("请输入被加的行\n"); scanf("%d",&m); printf("请输入加上的行\n"); scanf("%d",&n); printf("请输入乘数\n"); scanf("%d",&k); for(i=0;i<3;i++) { a[m-1][i] += a[n-1][i]*k; } } int main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int b[3]; int i,j,n; printf("现在有一个矩阵如下\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d ",a[i][j]); } printf("\n"); } printf("选择1任意两行交换\n"); printf("选择2任意一行加到任意一行上\n"); printf("选择3任意一行乘以一个数加到任意一行上\n"); printf("请选择123:"); scanf("%d", &n); switch (n) { case 1:fun1(a); break; case 2:fun2(a); break; case 3:fun3(a); break; default: printf("输入错误"); return 0; } printf("现在开始输出...\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d ",a[i][j]); } printf("\n"); } return 0; }
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题
- ¥15 (标签-Python|关键词-socket)