首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
48
问题
使用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全国计算机二级
相关试题推荐
在数据库设计中,将E-R图转换为关系模式的过程属于()。
以下程序的输出结果是【】。#include<stdio.h>main(){inta=2,b=3,c=4;a*=16+(b++)-(++c);Printf("%d",a);}
现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向—个链表中连续的三个结点。 street node { char data; struct node *next; } *p,*q
有以下程序:#include<stdio.h>#include<stdio.h>main(){charc[6];inti=0;for(;j<6;c[i]=getchar(),i++);for(i=0;i<6;i++)p
以下程序的输出结果是#includestructst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[
设有定义:intn1=0,n2,*P=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是()。
以下函数值的类型是()。fun(floatx){floaty;y=3*x-4;returny;}
下列程序执行后的输出结果是______。main(){intm[][3]={1,4.7,6,5,8,3,6,9};inti,k=2for(i=0,i<3;i++){printf("%d",m[k][
随机试题
“一个人并不是生来要被打败的,你尽可以把他消灭掉,可就是打不败他。”这句话出白海明威的名著()。
多个均数比较,应选择的统计方法是两个均数比较,应选择的统计方法是
五味消毒饮的组成是犀角地黄汤的组成是
音响或灯光监视的控制回路,跳、合闸回路中,跳、合闸位置继电器的选择应符合什么规定?
直观手段一般可分为实物直观、_________和_________三种。
与2012年3月相比,5月使用新闻网站和微博的人数差()万人。
元朝军队按照种族差异和征发地区的不同,分为四种,对此论述正确的一项是()。①蒙古军②探马赤军③汉军④南军⑤新附军
小叶和小巫是好朋友,今天恰好是星期六,尽管下起小雨,小叶还是想找小巫玩,到昆明湖去划船或者游泳。但是,小叶知道,只有不下雨,小巫才游泳或者划船。如果上述断定为真,以下哪项也必定是真的?
已知∫—∞∞ek|x|dx=1,则k=________。
若有定义语句:int a[3][6];,按在内存中的存放顺序,a数组的第10个元素是
最新回复
(
0
)