首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写程序,实现矩阵(3行、3列)的转置(即行列互换)。 例如,若输入下面的矩阵: 100 200 300 400 500 600 700 800 900 则程序输出: 100 400 700 200 500 800 300 600
编写程序,实现矩阵(3行、3列)的转置(即行列互换)。 例如,若输入下面的矩阵: 100 200 300 400 500 600 700 800 900 则程序输出: 100 400 700 200 500 800 300 600
admin
2017-02-24
149
问题
编写程序,实现矩阵(3行、3列)的转置(即行列互换)。
例如,若输入下面的矩阵:
100 200 300
400 500 600
700 800 900
则程序输出:
100 400 700
200 500 800
300 600 900
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
1 #include<stdio.h>
2 #include<conio.h>
3 #include<stdlib.h>
4 void fun(int array[3][3])
5 {
6
7 }
8 void main()
9 {
10 FILE,lc Wf;
11 int i,j;
12 int array[3][3]={{100,200,300),{400,500,600),{700,800,900});
13 system("CLS");
14 for(i=0;i<3;i++)
15 { for(j=0;j<3;J++)
16 printf("%7d",array
[j]);
17 printf("\n");
18 }
19 fun(array);
20 printf("Converted array:\n");
21 for(i=0;i<3;i++)
22 { for(j=0;j<3;j++)
23 printf("%7d",array
[j]);
24 printf("\n");
25 }
26 /*********found*********/
27 wf=fopen(”out.dat”,”w”);
28 for(i=0;i<3;i++)
29 { for(j=0;j<3;j++)
30 fprintf(wf,"%7d",array
[j]);
31 fprintf(wf,"\n");
32 }
33 fclose(wf);
34 /*********found*********/
35 }
选项
答案
Void fun(int array[3][3]) { int i,j,t; for(i=0;i<3;i++)/*将右上三角和左下三角对换,实现行列互换*/ for(j=i+1;j<3;j++) {t=array[i][j]; array[[i][j]=array[j][i]; array[i][j]=array[i][j]; array[j][i]=t; } }
解析
要实现矩阵转置,即将右上角数组元素和左下角数组元素对换,本题通过数组元素交换方法,完成矩阵转置操作。
因为对矩阵转置后仍然存回其本身,所以只能循环矩阵中的一个角(本程序是右上半三角)。控制右上半三角的方法是在内层循环中循环变量j从i+1或i开始。
转载请注明原文地址:https://www.kaotiyun.com/show/0MDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
已知i、j、k为血型变量,若要从键盘输入2、3、4<CR>,使i、j、k的值分别为2、3、4,下列正确的输入语句是()。
以下程序的输出结果是______。main(){inty=9;for(;y>0;y--)if(y%3==0){printf("%d",--y);continue;}}
下面程序输出的结果是main(){inti;inta[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d",a[2-i][i]);}
有以下程序main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf("
有如下程序main(){intn=9;while(n>6){n--;printf("%d",n);}}该程序的输出结果是
C语言规定,在一个源程序中,main函数的位置
若有定义intw[3][5];,则以下不能正确表示该数组元素的表达式是
设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是
下列关于字符串的说法中错误的是
随机试题
Inourmodernsociety,whensomethingwearsout,wethrowitawayandbuyanewone.The【C1】______isthatcountriesaroundthew
下列方剂中,原方用法是“去滓再煎”的是
反刍动物日粮中微量元素钴缺乏,可导致动物贫血、消瘦甚至衰竭。为取得良好的治疗效果,除可给动物补钴外,配合治疗最好使用
晚期肝硬化患者最严重的并发症和最常见的死亡原因是()
如果被征收人拒绝在实地查勘记录上签字或盖章的,应有房屋征收部门、房地产估价机构和无利害关系的第三人见证,有关情况应在估价技术报告中说明。()
风险分析可分为()和()两大类。
对强制招标项目招标公告的发布做出明确规定的是()。
据统计,中国企业平均寿命只有7~8岁。民营企业只有9岁,跨国公司的平均寿命为11~12岁,世界500强的平均寿命为40~42岁,世界1000强的平均寿命为30岁。那些因决策失误,对市场反应迟钝、管理不善的企业会过早地进入“公司恐龙博物馆”,他们中很多是由
下列属于净增效益原则应用领域的是()。
国际经济协调不包括()。
最新回复
(
0
)