简答题

已知一整型数组a中包含100个整数,请写一程序,该程序求出(记录)该数组中最大值元素的位置。  提示:① 先通过键盘输入使数组得到数据;  ② 数组中最大值元素可能不止一个,甚至可能都是最大值元素。

正确答案

基本思想:由于最大元素可能不止一个,甚至都可能是最大元素,因此,定义一个长度为101的整型数组pos[101],用来分别记录最大元素的位置。在确定最大元素之前,假设第一个元素为最大元素,其位置用整型变量position记录;从第二个元素开始至最后那个元素,依次与当前最大元素进行比较。若有新的元素大于当前最大元素,position记录新的元素的位置,新的元素成为当前最大元素,同时置整型变量k为1;若有新的元素与当前最大元素相等,将当前比较的元素的位置保存在pos数组由整型变量k所指的位置,并将k后移一个位置。在数组所有元素都比较完毕时,在pos[k]中记录一个标记值-1来标明数组pos下标0至k-1的元素中记录了k个最大元素的位置。

答案解析

相似试题
  • 已知整型数组A[0..m-1][0..n-1],请写一函数,该函数返回数组最外围一圈元素之和。

    简答题查看答案

  • 假设整型数组a中的数据已经按值从小到大顺序存放。下面的程序首先删除该数组中值相同的多余数据,然后以每一行4个数据的格式输出该数组。请先阅读该程序,然后分别在程序的空白处(横线上方,共3处)填上必要内容。 (注:所谓删除值相同的多余数据即把值相同的数据删除得只剩一个)。

    简答题查看答案

  • 已知长度为n的非空顺序表A[0..n-1],请写一算法,该算法删除表中重复出现的数据元素。

    简答题查看答案

  • 请编写一程序,该程序对于输入的字符串(该字符串包含数字字符和非数字字符),如: ab123xy45? 2010nian4yue &05  将串中连续的数字作为一个整数依次存放到数组a中,例如,将123存放在a[0]中,45存放在a[1]中,将2010存放在a[2]中,……;统计这些整数的数目,并输出这些整数。

    简答题查看答案

  • 已知单链表的结点结构为,第1个结点的指针为list。请写一算法,找到链表的倒数第k个结点。若找到这样的结点,算法给出该结点的地址,否则,算法给出信息NULL。  限制:算法中不得求链表长度与逆转链表,也不允许使用除指针变量和控制变量以外的其他辅助空间。

    简答题查看答案

  • 已知带有头结点的非空双向循环链表的链结点构造为,头结点指针为list,请写一算法,判断该双向循环链表是否对称,若对称,算法返回1,否则,返回0。  说明:所谓链表对称是指除头结点外,链表中前后所有对称位置的结点的数据域值相同。例如下面的两个链表中,(a)是对称的,而(b)不是对称的。

    简答题查看答案

  • 请写一程序,统计通过键盘输入的命令行中的第二个参数所包含的英文字符的个数。 提示:使用带参数的main函数形式。

    简答题查看答案

  • 请写一非递归算法,对于任意给定的k值,该算法在长度为 n、且元素按值严格递增排列的顺序表A[1..n]中采用折半查找法查找值不大于k的最大元素,若表中存在这样的元素,则算法返回该元素在表中的位置,否则,算法返回信息0。(假设表中元素分别为一个正整数)  例如,对于顺序表A[1..10]=(2, 4, 6, 8, 10, 12, 14, 16, 18, 20),  当k=8时,满足条件的元素为8,返回位置4;  当k=13时,满足条件的元素为12,返回位置6;  当k=1时,无满足条件的元素,返回信息0。

    简答题查看答案

  • 以下能对二维数组A进行正确初始化的语句是()。

    单选题查看答案