| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 933 人关注过本帖
标题:c 小弱求助。。。
只看楼主 加入收藏
小弱
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-12-14
收藏
得分:0 
回复 10楼 小小战士


那要怎么写
2012-12-14 19:47
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
程序代码:
#include<stdio.h>

struct Count
{
    int c;
    int count;
};


int main()
{
    int list[2][3]={4,55,6,44,55,55};
    struct Count conter[10000];
    int i,j;
    for(i = 0; i < 10000; i++)
    {
        conter[i].c =  i;
        conter[i].count = 0;
    }
    for(i =0; i < 2 ; i ++)
      for(j=0;j<3;j++)
        conter[list[i][j]].count ++;
    int max=0;
    for(i = 0; i < 10000; i++)
    {
        if( conter[i].count>0 )
        {
            if (conter[i].count>max) {max=conter[i].count;j=i;};
        }
    }

    printf("出现次数最多的数是=%d\n",j);
    return 0;
}
我倒是实现了一个,不过感觉写的很乱  看看其他人的代码吧

DO IT YOURSELF !
2012-12-14 20:07
小弱
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-12-14
收藏
得分:0 
回复 12楼 wp231957
恩恩
2012-12-14 20:10
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:5 
我记得我今天给谁写过,等等


[fly]存在即是合理[/fly]
2012-12-14 20:23
小弱
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-12-14
收藏
得分:0 
回复 14楼 azzbcc
恩恩
2012-12-14 20:28
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
不是一个题,额


[fly]存在即是合理[/fly]
2012-12-14 20:31
小弱
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-12-14
收藏
得分:0 
回复 16楼 azzbcc
2012-12-14 20:34
小弱
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-12-14
收藏
得分:0 
回复 12楼 wp231957
还有东西没学到。。。有的看不懂。。。。核心结构是。。。。。。
2012-12-14 20:39
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
收藏
得分:5 
回复 18楼 小弱
看版主的意思是:用二维数组的值做count数组的下标。比如二维数组有5个3,则第一个3出现时,count[3]=1(就是那个counter什么的++),那等到第二个3出现时count[3]=counter++(此时就=2了),依次类推,就是count[3]=5。最后再判断count数组的最大值,那个下标不就是出现次数最多的数了吗。不过,看版主的程序好像有问题,我也没试。反正思路就是这么个思路。个人拙见。
2012-12-14 21:23
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <string.h>
#define M 3
#define N 3
#define Mount (M * N)
struct Flag
{
    int key;
    int count;
}flag[Mount];
void InitFlag(int a[M][N])
{
    int i, j, temp;
    for (i = 0;i < M;i++)
    {
        for (j = 0;j < N;j++)
        {
            temp = a[i][j] % Mount;
            if (!flag[temp].key || a[i][j] == flag[temp].key)
            {
                flag[temp].key = a[i][j];
                flag[temp].count += 1;
                continue;
            }
            while (flag[temp].key && a[i][j] != flag[temp].key)
                temp = (temp + 1) % Mount;
            flag[temp].key = a[i][j];
            flag[temp].count += 1;
        }
    }
}
void OutPut()
{
    int i, j = 0, max = 0;
    for (i = 0;i < Mount;i++)
    {
        if (max < flag[i].count)
        {
            max = flag[i].count;j = i;
        }
    }
    printf("出现次数最多的是:%d\n", flag[j].key);
}
int main()
{
    int a[M][N] = {1, 14, 3, 14, 14, 5, 16, 5, 7};
    memset(flag, 0, sizeof(flag));
    InitFlag(a);
    OutPut();
    return 0;
}


[fly]存在即是合理[/fly]
2012-12-14 21:24
快速回复:c 小弱求助。。。
数据加载中...
 
   



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

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