| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 517 人关注过本帖
标题:有关取最大值的问题?
只看楼主 加入收藏
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
结帖率:88.89%
收藏
 问题点数:0 回复次数:5 
有关取最大值的问题?
int a, b, c, d, e, f;
这六个值是从硬件里读出来的值。
怎样确定这六个变量中的最大值。并且知道那个动态变量是最大值。
用冒泡法能读出最大值但是不知道这个最大值是哪个变量的。求思路。
搜索更多相关主题的帖子: 最大值 动态 
2012-12-21 12:12
bulubulukaka
Rank: 2
等 级:论坛游民
帖 子:19
专家分:40
注 册:2012-12-5
收藏
得分:0 
你需要定义一个类似于这样的结构体,既包含硬件寄存器的值,又包含它的名字。
struct element
{
    int data;
    char name;
};
然后设置一个数组,把所有的硬件寄存器的类容(值和名字)传进去。
struct element arr[6];

key = arr[0].data;
name = arr[0].name;

//每次发生交换时把值和名字同时记录下
if(arr[i].data > key)
{     
    key = arr[i].data;
    name = arr[i].name;
}
2012-12-21 12:42
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
收藏
得分:0 
回复 2楼 bulubulukaka
没看太懂,能写一下吗?
/*
     想知道到底哪个变量的值是最大值?
     到底该怎么写呢?纠结啊!
     希望输出 :k是最大值,j是第二大值,i是最小值。
*/

# include <stdio.h>
int main()
{
    int i = 3, j = 5, k = 7;
   
    return 0;
}
2012-12-21 12:53
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:0 
楼上正解!

有心者,千方百计;无心者,千难万难。
2012-12-21 12:53
bulubulukaka
Rank: 2
等 级:论坛游民
帖 子:19
专家分:40
注 册:2012-12-5
收藏
得分:0 
回复 3楼 gaolongtou
你希望既能找出最大的值,又能得到这个最大的值的名字——你可以用一个结构体来描述。这个结构体既包含其值又包含其名字。
如果你只是找最大值,那么不必要用冒泡法,一次循环就够了。
如果你又要找最大值,又要找次大值,你只需要再多加一个变量来记录次大。比如:
//定义两个变量来保存最大值和次大值
struct element max, secondary_max;

//在一次循环中比较,arr[]是结构体数组,每个元素都包含值和名字
for(i=0;i<MAX-1;i++)
{
    if(arr[i+1]>arr[i])
    {
        secondary_max.data = max.data; //把上一次的最大值传给secondary_max
        secondary_max.name = max.name; //名字也是

        max.data=arr[i+1].data; //记录新的最大值
        max.name=arr[i+1].name;  //还有新的最大值的名字
    }
}

如果你还要找最小值,也是差不多的手法,加个变量来记录就好了。
2012-12-21 13:20
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
收藏
得分:0 
回复 5楼 bulubulukaka
嗯,不好意思啊,忙考试呢!现在才来回复。谢谢哈!!!
2012-12-22 21:53
快速回复:有关取最大值的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018424 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved