[试题]

阅读以下说明和C语言函数,将应填入(n)处。

[说明]

函数int find_Max_Min(int a[],int n)的功能是:找出n个元素的数组a中的最大元素和最小元素并输出,返回查找过程中元素的比较次数。查找方法如下:比较a[0]和a[n-1],若a[0]大,则交换a[0]和a[n-1]的值:再比较a[1]和a[n-2],若a[1]大,则交换a[1]和a[n-2]的值;以此类推,直到所有的元素都比较完。然后在数组的前半区从前往后找出小元素,在后半区从后往前找出大元素。

[函数]

int find_Max_Min(int a[],int n)

{/*找出n个元素的数组a的最大、最小元素并输出,返回查找过程元素中的比较次数*/

int i,Count=0;

int temp,Maxnum,Minnum;

for(i=0; i<n/2; i++){

C.ount=Count+1 /*元素比较次数计数*/

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

{/*数组元素交换代码略*/}

}

Maxnum=a[n-1]; Minnum=a[0];

for(i=1;i<n/2+n%2;i++){

C.ount=(2); /*元素比较次数计数*/

Minnum=(3)? a[i]:Minnum; /*找最小元素*/

Maxnum=(4)?(5):Maxnum; /*找最大元素*/

}

printf("Max=%d/n",Maxnum);

printf("Min=%d/n",Minnum);

return Count;

}

参考答案与解析:

相关试题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [说明] 本

[主观题]阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]本程序实现对指定文件内的单词进行计数。其中使用二叉树结构来保存已经读入的不同单词,并对相同单词出现的次数进行计数。此二叉树的左孩子结点的字符串值小于父结点的字符串值,右孩子结点的字符串值大于父结点的字符串值。函数getword(char*filename,char*word)是从指定的文件中得到单词。char*strdup(char*S)是复制S所指向的字符串,并返回复制字符串的地址。[C程序]include <stdio

  • 查看答案
  • 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。(说明) 实现

    [试题]阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。(说明)实现矩阵(3行3列)的转置(即行列互换)。例如,输入下面的矩阵:100 200 300400 500 600700 800 900程序输出:100 400 700200 500 800300 600 900(函数)int fun(int array[3][3]){int i,j,t;for(i=0;(1);i++)for(j=0;(2);j++){t=array[i][j];(3);(4);}}}main(){int i,j

  • 查看答案
  • 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [函数2.1

    [主观题]阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[函数2.1说明]将一个正整数分解质因数。例如:输入90,打印出90=2×3×3×5。[函数2.1]fun 1 ( int n ){int i;for ( i=2;i<=n; i++){while (((1)){if (n %i==0 ){ printf ( "%d*",i );(2)}elsebreak;}}printf ( "%d",n ) ;}[函数2.2说明]下面程序的功能是:海滩上有一堆桃子,5只猴子来分。第1只

  • 查看答案
  • 阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。[说明]

    [主观题]阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。[说明]求树的宽度,所谓宽度是指在二叉树的各层上,具有结点数最多的那一层的结点总数。本算法是按层次遍历二叉树,采用一个队列q,让根结点入队列,若有左右子树,则左右子树根结点入队列,如此反复,直到队列为空。[函数]int Width ( BinTree *T{int front=-1, rear=-1; /*队列初始化*/int flag=0, count=0, p; /*p用于指向树中层的最右边的结点, flag 记录层中结点

  • 查看答案
  • 试题二(共 15 分) 阅读以下说明和 C 语言函数,将应填入 (n) 处的字句

    [试题]试题二(共 15 分)阅读以下说明和 C 语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]已知 1900 年 1 月 1 日是星期一,下面的函数 count_5_13(int year)用于计算给定的年份 year中有几个“黑色星期五” 。 “黑色星期五”指既是 13 日又是星期五的日期。函数 count_5_13(int year)首先算出年份 year 的1月 13 日是星期几,然后依次计算每个月的 13 日是星期几,若是星期五,则计数。程序中使用了函数 isLeapYear

  • 查看答案
  • 阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明] 如图所示

    [主观题]阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]如图所示的一圆圈上分布6个环,请在每个环中填一个数字,使得从任一环开始按顺时针所得的六位数与按逆时针所得的6位数都为素数。[函数]main ( ){int i, j, a, b, k;long m,m1,n,t,u,v;for ( n=100001;n<999999;n+2 ) /* n穷举所有 6位奇数*/{a=0;(1); /* 设 m 为一个顺转6 位数*/for ( i=1; i<=6; i++ ){t=-m/1000

  • 查看答案
  • 阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明] 若S和T

    [主观题]阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]若S和T是用结点大小为1的单链表存储的两个串,试设计一个算法找出S中第一个不在T中出现的字符。查找过程是这样的,取S中的一个字符(结点),然后和T中所有的字符一一比较,直到比完仍没有相同的字符时,查找过程结束,否则再取S中下一个字符,重新进行上述过程。[函数]typedef struct node {char data;struct node *next;}LinkStrNode; //结点类型typedef LinkStrN

  • 查看答案
  • 阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。(函数2.1说明)

    [主观题]阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。(函数2.1说明)函数palindrome(char s[])的功能是,判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。(函数2.1)int palindrome( char s[ ] ){ char * pi, * pj;pi=s; pj=s+strlen(s)-1;while( pi<pj&&

  • 查看答案
  • 阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。 (说明) 函数D

    [试题]阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。(说明)函数DeleteNode(Bitree*r,inte)的功能是:在树根节点指针为r的二叉查找(排序)树上删除键值为e的节点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树节点的类型定义为:typedef struct Tnode{int data;/*节点的键值*/struct Tnode *Lchild,*Rchiid;/*指向左、右子树的指针*/}*Bitree;在二叉查找树上删除一个节点时,要考虑3种情况。①若待删

  • 查看答案
  • 阅读下列C函数和函数说明,将应填入(n)处的字句写在对应栏内。(说明) 函数De

    [试题]阅读下列C函数和函数说明,将应填入(n)处的字句写在对应栏内。(说明)函数DeleteNode (Bitree *r, int e)的功能是:在树根结点指针为r的二叉查找(排序)树上删除键值为e的结点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树结点的类型定义为:typedef struct Tnode{int data; /*结点的键值*/struct Tnode *Lchild, *Rchild; /*指向左、右子树的指针*/}*Bitree:在二叉查找树上删除一个结点时,要考虑3种

  • 查看答案
  • 阅读以下说明和C语言函数,将应填入(n)处。[说明] 函数int find_Ma