找出有效数中的最小值

#include <iostream>

using namespace std;

int find_min(int b[],int n,int &flag)

{

 

int i=0;

int before=0,after=0;

for (i=flag;i<n-1;i++)  //该flag为起始点的值

{

before=flag;        //将每次比较的最小值给before

while(b[i+1]==-1&&i<n-1) //跳过空值结点

{

i++;

}

after=i+1;

if (b[after]!=-1) //如果after走完了则返回flag结点

{

if (b[before]>b[after])

{

flag=after;

}else{}

}else{}

}

return b[flag];

}

int ini_position(int c[],int n)

{

bool status=false;   //初始为定位不成功

int i,flag=0;

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

{

if (c[i]!=-1)

{

flag=i;

status=true;

break;

}

}

if (status==false)

{

cout << "该集合中无有效元素!!";

exit(0);

}

return flag;

}

int main()

{

int flag=0;

int a[10]={-1,-1,-1,2,-1,-4,-1,-1,-1,-1};

flag=ini_position(a,10);

cout << " " << flag << endl;

cout << find_min(a,10,flag);

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用循环语句来一组数的最大值和最小值。具体步骤如下: 1. 定义一个列表,将需要最大值和最小值的一组数存储在其中。 2. 定义两个变量,分别用来保存最大值和最小值,初始值分别为列表中的第一个数。 3. 使用循环语句遍历列表中的每个数,将其与最大值和最小值进行比较,更新最大值和最小值的值。 4. 循环结束后,最大值和最小值的值即为所。 以下是一个使用 Python 语言的示例代码: ```python nums = [3, 5, 1, 9, 7, 4] max_num = nums[0] min_num = nums[0] for num in nums: if num > max_num: max_num = num if num < min_num: min_num = num print("最大值为:", max_num) print("最小值为:", min_num) ``` 上述代码中,列表 `nums` 中存储了一组数,使用 `for` 循环遍历了列表中的每个数,并使用 `if` 语句将每个数与当前的最大值和最小值进行比较,从而更新最大值和最小值的值。最后输出最大值和最小值的值。 ### 回答2: 使用循环语句可以出一组数据中的最大值和最小值。我们可以定义一个变量来存储最大值和最小值的初始值,然后遍历这组数据,比较每个元素与当前的最大值和最小值,更新最大值和最小值。 假设我们有一个数组arr,使用for循环来遍历数组中的元素。循环开始时,我们将最大值和最小值都初始化为数组的第一个元素arr[0]。 然后,我们遍历数组的剩余元素。对于每个元素,我们与当前的最大值进行比较,如果大于当前最大值,则更新最大值。同样地,如果当前元素小于最小值,则更新最小值。 最后,当循环结束后,我们得到的最大值和最小值就是我们所要的。 代码示例: ``` // 假设arr是我们要最大值和最小值的数组 int[] arr = { 5, 8, 3, 12, 4, 6 }; // 初始化最大值和最小值 int max = arr[0]; int min = arr[0]; // 遍历数组中的元素 for (int i = 1; i < arr.length; i++) { // 更新最大值 if (arr[i] > max) { max = arr[i]; } // 更新最小值 if (arr[i] < min) { min = arr[i]; } } // 输出最大值和最小值 System.out.println("最大值:" + max); System.out.println("最小值:" + min); ``` 以上是使用循环语句一组数据中的最大值和最小值的方法。通过遍历数组中的元素,不断更新最大值和最小值,从而得到我们所需的结果。 ### 回答3: 使用循环语句来解一组数中的最大值和最小值是比较常见且有效的方法。具体步骤如下: 1. 假设有一组数存储在一个数组中。初始化最大值和最小值变量,分别为数组中的第一个元素。 2. 使用循环语句遍历数组中的每个元素。可以使用for循环、while循环或者do-while循环,具体选择哪一种循环取决于具体的编程语言。 3. 在循环中,比较当前元素与最大值和最小值的大小。如果当前元素大于最大值,则更新最大值;如果当前元素小于最小值,则更新最小值。 4. 循环结束后,最大值和最小值就是数组中的最大值和最小值。 下面是一个具体示例,假设有一个包含10个数字的数组,需要找出其中的最大值和最小值: ``` int[] numbers = { 1, 5, 3, 8, 2, 9, 4, 7, 6, 10 }; int max = numbers[0]; // 初始化最大值为数组中的第一个元素 int min = numbers[0]; // 初始化最小值为数组中的第一个元素 for (int i = 1; i < numbers.length; i++) { if (numbers[i] > max) { max = numbers[i]; } if (numbers[i] < min) { min = numbers[i]; } } System.out.println("最大值为:" + max); System.out.println("最小值为:" + min); ``` 执行以上代码,最大值为10,最小值为1。通过循环语句遍历数组,不断更新最大值和最小值变量,最终得到了数组中的最大值和最小值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值