首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写程序,实现矩阵(3行、3列)的转置(即行列互换)。 例如,若输入下面的矩阵: 100 200 300 400
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写程序,实现矩阵(3行、3列)的转置(即行列互换)。 例如,若输入下面的矩阵: 100 200 300 400
admin
2018-10-21
63
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写程序,实现矩阵(3行、3列)的转置(即行列互换)。
例如,若输入下面的矩阵:
100 200 300
400 500 600
700 800 900
则程序输出:
100 400 700
200 500 800
300 600 900
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void fun(int array[3][3])
{
}
void main()
{
FILE*Wf;
int i,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("%7d",array
[j]);
printf("\n");
}
/*********found*********/
wf=fopen("out.dat","w");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
fprintf(wf,"%7d",array
[j]);
fprintf(wf,"\n");
}
fclose(wf);
/*********found*********/
}
选项
答案
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[j][i]=t; } }
解析
要实现矩阵转置,即将右上角数组元素和左下角数组元素对换,本题通过数组元素交换方法,完成矩阵转置操作。
因为对矩阵转置后仍然存回其本身,所以只能循环矩阵中的一个角(本程序是右上半三角)。控制右上半三角的方法是在内层循环中循环变量j从i+1或i开始。
转载请注明原文地址:https://kaotiyun.com/show/VMxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义inta=10,b=9,c=8;,接着顺序执行下列语句,变量b中的值是【】。c=(a-=(b-5));c=(a%11)+(b=3);
以下程序运行后输入:3,abcde<回车>,则输出结果是______。#include<string.h>move(char*str,intn){charcemp;inti;temp=str[n-1];f
不改变关系表中的属性个数但能减少元组个数的是()。
已知字母A的ASCII码为65,以下程序运行后的输出结果是【】。main(){chara,b;a=’A’+’5’-’3’;b=a+’6’-’2’;printf("%d%c\n",a,b);}
数据字典是各类数据描述的集合,它通常包括五个部分,即数据项、数据结构、数据流、【】和处理过程。
设有定义:inta=2,b=3,c=4;,则以下选项中值为0的表达式是()。
有以下程序:#include<stdio.h>#defineN5#defineMN+1#definef(x)(x*M)main(){inti1,i2;i1=f(2);i2=f(1+
运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为______。main(){intm,n;printf("Enterm,n:");scanf("%d%d",&m,&n);while(m!
下列程序执行后的输出结果是______。main(){intm[][3]={1,4.7,6,5,8,3,6,9};inti,k=2for(i=0,i<3;i++){printf("%d",m[k][
有以下程序main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:cas
随机试题
下列哪一种神经纤维属于胆碱能纤维
新鲜尿液具有大蒜臭味,提示为
证见头痛,或偏或正,或巅顶作痛,目眩鼻塞,或微恶风发热,舌苔薄白,脉浮。治宜首选
地籍测量与普通地形测量都需重点测量的要素是()。
产生测量误差的原因有()。
建筑工程施工图预算不包括()。
【背景资料】某高速公路上下行分离式隧道,洞口间距40m,左线长3216m,右线长3100m,隧道最大埋深500m,进出口为浅埋段,Ⅳ级围岩,洞身地质条件复杂,地质报告指出,隧道穿越地层为三叠系底层,岩性主要为炭质泥岩、砂岩、泥岩砂岩互层,且有瓦斯
所谓空头支票,是指支票的出票人所签发的支票金额超过其出票时在付款人处实有的存款金额。()
下面有关模式分解的叙述中,不正确的是______。
Themilitantwassentencedtodeathbecauseof______.
最新回复
(
0
)