| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1601 人关注过本帖
标题:能不能帮我想下
只看楼主 加入收藏
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
int ar[100];

    用rand() % 101 产生100 个0-100的数,并放入数组ar 。
然后进行排序,可以从大到小排序。

    把数组中前3个不同的值打印出来。(用循环跳过相同的值)

    int b[3], i = 0;    // 可以用数组 (随便)
    while(i < 3)    // 找出三个不同的数
    {
        // 自己想想吧
    }


// 给你个思路
// 代码要的话也没问题

—>〉Sun〈<—
2008-04-05 22:51
jamesbind
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2008-3-21
收藏
得分:0 
二楼的算法用另一种结构表示可能更清楚一点。
typedef struct node{
    int score;    //分数
    int num;        //得到该分数的人数
}NODE;

NODE place[3];    //用place[0],place[1],place[2]分别表示前三名。

用一遍循环,每个循环中分数分别和前三名比较,然后放到合适的位置就可以了。
2008-04-05 23:09
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
    int i, j;
    int ar[101];     // 很少见哈

    srand((unsigned int)time(NULL));
   
    for(i = 0; i < 100; i++)
        ar[i] = rand() % 101;
        
    // 自己加排序的(0 - 99) ,ar[100] 我是作为一个临时数据的

    i = j = 0;                 // 算法部分
    ar[100] = ar[0];
    while(i < 3 && j < 100)
    {
        while(j < 100 && ar[100] == ar[j])
            j++;
        printf("%d ", ar[100]);
        ar[100] = ar[j];
        i++;
    }
   
    getchar();
    return 0;
}

//------------------------------------
 因为上面那样说了,所以就这样写了,
为什么出现ar[101] ,是因为我想省区一个 if。
上面的帖子说了这中思路,所以就这样写了个。

我自己觉得不好。先就写这个吧。
等会在写个。

[[it] 本帖最后由 cosdos 于 2008-4-5 23:19 编辑 [/it]]

—>〉Sun〈<—
2008-04-05 23:15
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
呵呵。。。已经搞定了
2008-04-06 19:25
快速回复:能不能帮我想下
数据加载中...
 
   



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

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