| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 524 人关注过本帖
标题:当最小数相等时同时输出,进来讨论一下呗~
只看楼主 加入收藏
Timmmy
Rank: 2
等 级:论坛游民
帖 子:20
专家分:33
注 册:2011-11-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
当最小数相等时同时输出,进来讨论一下呗~
程序代码:
void fmin(struct stu student[],int all)
{
    int i;
    int fminC,fminE,fminM;
    int minC_id,minE_id,minM_id;
    for(i=0;i<all;i++)
    {
        if(student[i+1].score.scoreC>student[i].score.scoreC)
        {
            fminC=student[i+1].score.scoreC;
            minC_id=i;    //取最小的i
        }
     }
}

程序有个问题,就是当有两个数相等时,而且都是最小,但i只能读取前面的那个,
如何改进能两个都同时读取呢?如果不是两个,是多个数都是这种情况怎么办?
搜索更多相关主题的帖子: color 
2011-12-25 19:33
edward_eric
Rank: 2
等 级:论坛游民
帖 子:32
专家分:83
注 册:2011-10-5
收藏
得分:0 
找到最小的之后从头到尾遍历一遍
2011-12-26 17:23
ggyy4k
Rank: 5Rank: 5
等 级:职业侠客
帖 子:111
专家分:334
注 册:2010-6-28
收藏
得分:0 
二楼正解。补充一点,如需记录最小数的个数,可设置一数组或指针,遍历时用以记录最小数的号码
2011-12-26 22:03
kennel2009
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:157
注 册:2011-12-13
收藏
得分:20 
void fmin(struct stu student[],int all)
{
    int i, j = 0;              //添加j变量,控制minC_id[]里面的标号
    int fminC, fminE, fminM;
    int minC_id[all], minE_id, minM_id; //minC_id[]设为数组,存储最小的标号

    for (i = 0; i < all; i++)
    {
        if (student[i + 1].score.scoreC > student[i].score.scoreC)
        {
            fminC = student[i + 1].score.scoreC;
            minC_id[j++] = i;    //每次赋值给数组后,j+1
        }
     }
}

别忘记分昂..嘿嘿
2011-12-27 21:10
快速回复:当最小数相等时同时输出,进来讨论一下呗~
数据加载中...
 
   



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

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