求顺序表中的最大的元素

将顺序表分为左子表和右子表,然后分别求出左右子表中最大的元素,然后选择最大的元素,就是整个表的最大的元素。

ElemType Max(SqlList L,int i,int j)
{ int mid;
  ElemType max,maxp1,maxp2;
  if(i==j) max=L.data[i];
  else{
        mid=(i+j)/2;
        max1=Max(L,i,mid);
        max2=Max(L,mid+1,j);
        max=(max1>max2)?max1:max2;
        }
  return max;
 }
     
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好,根据您的问题,我可以回答。顺序表及格元素的平均值可以按照以下步骤进行: 1. 定义一个变量sum,用于存储及格元素的总和,初始值为。 2. 定义一个变量count,用于存储及格元素的个数,初始值为。 3. 遍历顺序表的每个元素,如果该元素大于等于60,则将该元素加入sum,并将count加1。 4. 计算平均值,即sum/count。 以上是用C语言顺序表及格元素的平均值的方法。希望能对您有所帮助。 ### 回答2: 要用C语言顺序表及格元素的平均值,可以采取以下步骤: 1. 定义和初始化顺序表,包括需要存储的及格成绩; 2. 声明变量并初始化,用于计算及格成绩的总和和及格成绩的数量; 3. 使用循环遍历顺序表的每个元素; 4. 判断每个元素是否及格,如果是则将其值加到总和,并增加数量; 5. 计算平均值,将总和除以数量; 6. 输出平均值。 下面是使用C语言编写的一个示例代码: ```c #include <stdio.h> #define MAX_SIZE 100 // 定义顺序表最大长度 int main() { int scores[MAX_SIZE] = {90, 85, 60, 70, 95, 80}; // 假设成绩存储在顺序表 int count = 0; // 及格成绩的数量 int sum = 0; // 及格成绩的总和 float average = 0.0; // 平均值 for (int i = 0; i < sizeof(scores) / sizeof(scores[0]); i++) { if (scores[i] >= 60) { // 判断是否及格,条件可根据需调整 sum += scores[i]; count++; } } if (count > 0) { average = (float) sum / count; printf("及格成绩的平均值为: %.2f", average); } else { printf("没有及格成绩"); } return 0; } ``` 以上示例代码,假设顺序表存储的是整型成绩,判断及格的条件是大于等于60分。计算平均值时,首先需要将sum强制转换为浮点型,以便得到浮点数结果。输出结果将保留两位小数。在实际应用,可以根据需要自行调整顺序表的长度和判断及格的条件。 ### 回答3: 要用C语言顺序表及格元素的平均值,我们首先需要定义一个顺序表,并将数据存入其。然后,我们可以使用循环遍历顺序表的所有元素,找出满足及格条件的元素,并将其相加。最后,计算累加和除以及格元素的个数,即可得到及格元素的平均值。 下面是实现这个功能的C语言代码: ```c #include <stdio.h> #define MAX_SIZE 100 // 假设顺序表最大长度为100 int main() { int score[MAX_SIZE]; // 定义一个顺序表 int numOfScores; // 顺序表元素个数 int sum = 0; // 及格元素的累加和 int count = 0; // 及格元素的个数 float average; // 平均值 printf("请输入及格元素的个数:"); scanf("%d", &numOfScores); printf("请输入顺序表元素:"); for (int i = 0; i < numOfScores; i++) { scanf("%d", &score[i]); if (score[i] >= 60) { sum += score[i]; count++; } } if (count == 0) { printf("没有及格的元素。\n"); } else { average = (float)sum / count; printf("及格元素的平均值为:%f\n", average); } return 0; } ``` 以上代码,我们假设顺序表最大长度为100,并通过`scanf`函数从用户处获取了及格元素的个数以及顺序表元素。然后,我们使用循环遍历顺序表元素,并将满足及格条件的元素累加和,并统计满足条件的元素个数。最后,我们通过除法将和除以个数,得到及格元素的平均值,并将结果打印输出。 请注意,以上代码假设用户输入的都是有效的数据,即输入的及格元素个数和顺序表元素均为整数。如果需要对用户输入做更多的错误处理,可以在代码添加相应的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值