Matlab基础与应用

函数subplot(m,n,p),m,n,p中哪个表示区号,区号按行还是列优先编号?()A、p列B、n列C、n行D、p行

题目

函数subplot(m,n,p),m,n,p中哪个表示区号,区号按行还是列优先编号?()

  • A、p列
  • B、n列
  • C、n行
  • D、p行
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列给定程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。

请改正程序中的错误,使它能得到正确结果。

[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。

[试题源程序]

include<stdio.h>

define N 20

void fun(int a[], int n)

{

int i, j, t, p;

for(j=0; j<n-1; j++){

/***********found***********/

p=j

for(i=j; i<n; i++)

if(a[i]<a[p])

/***********found***********/

p=j;

t=a[P];

a[p]=a[j];

a[j]=t;

}

}

msin()

{

int a [N]=(9, 6, 8, 3, -1), i, m=5;

printf("排序前的数据:”);

for(i=0; i<m; i++)

printf("%d", a[i]);

printf("\n");

fun(a, m);

printf("排序后的数据:");

for(i=0; i<m; i++)

printf("%d", a[i]);

printf("\n");

}


正确答案:(1)错误:p=j 正确:p=; (2)错误:p=j; 正确:p=i;
(1)错误:p=j 正确:p=; (2)错误:p=j; 正确:p=i; 解析:题中提到按“从小到大”的顺序排序,这类题目都可以用选择排序法,即从后N个比较过程中,选择一个最小的与第一个元素交换,以此类推,即用第二个元素与后N-1个进行比较,并进行交换。
错误1:此处错误比较明显,p=j后面应加分号。
错误2:根据选择排序法的思路,此处应将i赋给p。

第2题:

请编一个函数void fun( int tt[M][N], int pp[N], tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

include <conio.h>

include <stdio.h>

define M 3

define N 4

void fun(int tt[M][N],int pp[N])

{

}

main()

{

int t[M] [N]={{68,32,54,12},{14,24,88,

58},{42, 22, 44, 56}};

int p[N],i,j,k;

clrscr();

printf("The riginal data is:\n");

for(i=0;i<M;i++)

{

for(j=0;j<N;j++)

printf("%6d",t[i][j]);

printf("\n");

}

fun(t,p);

printf("\nThe result is:\n");

for(k=0;k<N;k++)

printf("%4d",p[k]);

printf("\n");

}


正确答案:void fun(int tt[M][N]int pp[N]) { int iimax; for(j=0;jN;j++) { max=tt[0][j]; /*假设各列中的第一个元素最大*/ for(i=0;iM;i++) if(tt[i][j]>max) /*如果各列中的其他元素比最大值大则将这个更大的元素看作当前该列中最大元素*/ max=tt[i][j]; pp[j]=max; /*将各列的最大值依次放入pp数组中*/ } }
void fun(int tt[M][N],int pp[N]) { int i,i,max; for(j=0;jN;j++) { max=tt[0][j]; /*假设各列中的第一个元素最大*/ for(i=0;iM;i++) if(tt[i][j]>max) /*如果各列中的其他元素比最大值大,则将这个更大的元素看作当前该列中最大元素*/ max=tt[i][j]; pp[j]=max; /*将各列的最大值依次放入pp数组中*/ } } 解析:本题中函数的功能是求出二维数组中每列的最大元素。首先,假设各列中的第一个元素最大,然后利用行标值的移动来依次取得各列中其他元素的值,并与假设的最大值进行比较,如果遇到更大的,则把这个更大的元素看做当前该列中最大的元素,继续与该列中其他元素比较。

第3题:

● 用数学归纳法证明命题 P(n)对任何自然数正确,一般包括两个步骤:第一,建立基础,例如证明P(1)正确;第二,建立推理关系,例如证明n≥1 时,如果命题P(n)正确则可以推断命题P(n+1)也正确。这种推理关系可以简写为:n≥1 时P(n)→P(n+1)。 将上述数学归纳法推广到二维情况。为证明命题P(m,n)对任何自然数m与n正确,先证明P(1,1)正确,再证明推理关系 (53) 正确 。

(53)

A. m≥1,n≥1时,P(m,n)→P(m+1,n+1)

B. m≥1,n≥1时,P(m,n)→P(m,n+1)以及P(m+1,n+1)

C. m≥1,n≥1时,P(m,n)→P(m+1,n)以及P(m,n+1)

D. n≥1时,P(1,n)→P(1,n+1);m≥1,n≥1时,P(m,n)→P(m+1,n+1)


正确答案:C


第4题:

下列递延年金的计算式中正确的是( )。

A.P=A×(P/A,i,n)×(P/F,i,m)

B.P=AX(F/A,i,n)×(P/F,i,m)

C.P=A×E(P/A,i,m+n)-(P/A,i,m)]

D.P=A×(F/A,i,n)×(P/F,i,n+m)


正确答案:ACD
递延年金有三种计算方法:
第一种方法:P=A×(P/A,i,n)×(P/F,i,m);
第二种方法:P=A×[(P/A,i,m+n)-(P/A,i,m)];
第三种方法:P=A×(F/A,i,n)×(P/F,i,n+m)。

第5题:

若关系R为M列P行,关系S为N列Q行,则()的结果为M+N列P×Q行。

A.R-S

B.R×S

C.R÷S


参考答案:B

第6题:

若关系R为M列P行,关系S为N列Q行,则R×S的结果为()列()行。

A.M+N、P+Q

B.M+N、P×Q

C.M×N、P+Q

D.M×N、P×Q


参考答案:B

第7题:

下列给定的程序中,函数fun()的功能是:用选择法对数组中的n个元素按从大到小的顺序进行排序。请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include<stdio.h>

define N 20

void fun(int a[ ],int n)

{

int i,j,t,p;

/*************found*************/

for(j=0;j<n-1;j++) ;

{

p=j;

for(i=j;i<n;i++)

if(a[i)>a[p])

p=i;

t=a[p];

a[p]=a[i];

/*************found**************/

a[p]=t;

}

}

main()

{

int a[N]={11,32,-5,2,14},i,m=5;

printf(“排序前的数据:”);

for(i=0;i<m;i++)

printf(“%d”,a[i]);

printf(“\n”);

fun(a,m);

printf(“排序后的顺序:”);

for(i=0;i<m;i++)

printf(“%d”,a[i]);

printf(“\n”);

}


正确答案:(1)错误:for(j=0;jn-1;j++); 正确:for(j=0;jn-1;j++) (2) 错误:a[p]=t 正确:a[j]=t;
(1)错误:for(j=0;jn-1;j++); 正确:for(j=0;jn-1;j++) (2) 错误:a[p]=t 正确:a[j]=t; 解析:错误1:根据C语言语法,for循环中循环条件后不加分号,除非做空操作。错误2:将两数进行交换的常用语句,借助第三个变量。

第8题:

若有说明:int *p,m=5,n;,以下正确的程序段是

A.p=&n;scanf("%d",&p);

B.p=&n;scanf("%d",*p)

C.scanf("%d",&n);*p=n;

D.p=&n;*p=m;


正确答案:D
解析:&是求址运算符,"*"是指变量说明符。选项A)、B)应改为scanf("%d",p);选项C)中指针变量p未指向一确定的内存单元,不能为其赋值,并且这样做很危险,建议不使用。

第9题:

若有说明:int*p,m=5,n;,以下正确的程序段是( )。

A.p=&m; scanf("%d",&p)

B.p=&n; scanf("%d",&p)

C.scsnf("%d",&p) p=&n;

D.p=&n; p=&m;


正确答案:D
解析:p为指针型变量,在输入函数的地址列表中不用&,当给指针变量赋值时是取变量的地址赋给指针变量,&为取地址运算符,因此只有选项D正确。

第10题:

有以下程序 main () int m,n,p; scanf ( "m=%dn=%dp=%d" , &m, &n, &p); printf("%d %d %d\n", m, n, p); 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,

A.m=123n=456p=789

B.m=123 n=456 p=789

C.m=123,n=456,p=789

D.123 456 789


正确答案:A
解析:本题考查的是标准输入函数scanf()的运用。scanf函数的第一个参数是格式控制串,若在格式控制串中插入了格式控制符以外的其他字符,则在输入数据时要在对应的位置原样输入这些字符才能正确输入。所以本题若想使变量m的值为123、n为456、p为789,则应该输入的字符串为:用这三个数据按m、n、p出现在scanf()函数中的位置顺序替换掉scanf()函数格式控制串中的格式控制符后所得到的格式控制串,即“m=123n=456p=789”。所以,4个选项中选项A符合题意。

更多相关问题