首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写程序,实现矩阵(3行、3列)的转置(即行列互换)。 例如,若输入下面的矩阵: 100 200 300 400 500 600 700 800 900 则程序输出: 100 400
编写程序,实现矩阵(3行、3列)的转置(即行列互换)。 例如,若输入下面的矩阵: 100 200 300 400 500 600 700 800 900 则程序输出: 100 400
admin
2018-03-28
33
问题
编写程序,实现矩阵(3行、3列)的转置(即行列互换)。
例如,若输入下面的矩阵:
100 200 300
400 500 600
700 800 900
则程序输出:
100 400 700
200 500 800
300 600 900
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#inCiude<conio.h>
#include <Stdlib.h>
void fun (int array[3][3])
{
}
void msin()
{
FILE * wf;
int 1,j;
int array[3][3]={{100,200,300),
{400,500,600),{700,800,900}};
system("CLS");
for(i=0 ; i<3;i++)
{for(j=0;j<3;j++)
printf("%7d",array
[j]);
printf("\n");
}
fun(array);
printf("Converted array:\n");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%7 d",array
[j]);
printf("\n");
}
/*********found*********/
wf=fopen("out.dat","w");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
fprintf(wf,"%7 d",
array
[j]);
fprintf(wf,"\n");
}
fclose(wf);
/*********found*********/
}
选项
答案
void fun (int array[3][3l) { int i,j,t; for(i=0;i<3;i++)/*将右上三角和左下三角对换,实现行列互换*/ for(j=i+l;j<3;j++) {t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } }
解析
要实现矩阵转置,即将右上角数组元素和左下角数组元素对换,本题通过数组元素交换方法,完成矩阵转置操作。
因为对矩阵转置后仍然存回其本身,所以只能循环矩阵中的一个角(本程序是右上半三角)。控制右上半三角的方法是在内层循环中循环变量j从i+1或i开始。
转载请注明原文地址:https://kaotiyun.com/show/dJxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是()。#include<stdio.h>#defineF(x)2.84+x#definew(y)printf("%d",(int)(y))#defineP(y)w(y)putchar(’\n
若i是int型变量,且有下面的程序段:for(i=4;i<6;i++)printf((i%2)?("**%d\n"):("##%d\n"),i);上面程序段的输出结果是______。
阅读下面程序,则执行后的输出结果是【】。#include"stdio.h"main(){intx,y,z;x=1;y=2;z=3;if(x>y)if(x>z)printf("%d",x);el
以下程序的功能是:通过函数func输入字符并统计输入字符的个数。输入时用字符@作为输入结束标志。请填空。#includelong_______________;/*函数说明语句*/main(){longn
下列程序的输出结果是()。intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;}main(){inta=4,b=3,e=5,
以下程序的功能是进行位运算main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序运行后的输出结果是
在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是()。
以下函数调用语句中实参的个数是()func((exp1,exp2),(exp3,exp4,exp5));
在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送_____。
随机试题
哪项不是输卵管复通术的近期并发症
男性,40岁,面部及双下肢间断水肿13年。BP19.5/11.7kPa(150/90mmHg)。尿蛋白(++),RBC4~6个/HP,颗粒管型1~2个/HP,BUN11mmol/L。诊断最可能为
白芷在贮存中容易发生车前草在贮存中容易发生
根据《药品包装、标签和说明书管理规定(暂行)》,下列所述属于药品内包装标签必须标注的内容是
下列关于复代理的表述,正确的是()。
位于北京市密云县的某化工厂拟拆除其污水处理设施,按照《环境保护法》的规定,需先征得( )的同意。
个人贷款的特征有以下三点:(1)贷款品种多、用途广;(2)贷款便利;(3)______。
设=∫0xcos(x一t)2dt确定y为x的函数,求
A、Byspendingtaxmoneytocleanabandonedcarsoffthestreet.B、Bytowingthemwiththemoneyfromtherecyclingofmetalint
Forthispart,youareallowed30minutestowriteashortessayentitledSeizingtheOpportunitiesbycommentingonthesaying
最新回复
(
0
)