| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 702 人关注过本帖
标题:求五个数的众数
取消只看楼主 加入收藏
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
结帖率:100%
收藏
已结贴  问题点数:30 回复次数:2 
求五个数的众数
#include<stdio.h>
int main()
{
    int i,j,maxsum;
    int a[5];
    int sum[5];

    for(i=0;i<5;i++)
    {
        sum[i]=0;
        printf("请输入第%d个数  ",i+1);
        scanf("%d",&a[i]);
    }

    for(i=0;i<5;i++)
    {
        for(j=i;j<5;j++)
        {
            if(a[i]==a[j])
            {
            sum[i]=sum[i]+1;
            }
        }   
    }

    maxsum=0;
    for(i=0;i<5;i++)
    {
        if(sum[i]>maxsum)
        {
            maxsum=sum[i];
        }
    }

    for( i=0;i<5;i++)
    {
        if(maxsum==sum[i])
        {
            printf("众数为%d\n",a[i]);
        }
    }

    printf("重数为%d\n",maxsum);
    return 0;
}

问题已经解决,谢谢各位!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[ 本帖最后由 小小程序猿 于 2013-10-16 21:30 编辑 ]
搜索更多相关主题的帖子: include 
2013-10-15 22:01
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 
  给定含有 n 个元素的多重集合 S,每个元素在 S 中出现的次数称为该元素的重数。多重集 S 中重数最大的元素称为众数。

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-10-15 22:09
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 
以下是引用liufashuai在2013-10-16 11:57:45的发言:

这个问题。。。。。
1,是4楼指出的地方,把分号去掉
2,你这样循环不是重复了,对于求对数,没必要,你要的只是一个结果#include<stdio.h>
#define N 5
int  main()
{
     int i,j,k,maxnum,index;
     int a[N];
     int result[N][2]={0};
   
     for(i=0;i<N;i++)
     {
         printf("请输入第%d个数  ",i+1);
         scanf("%d",&a);
     }
     j = 0;
     k = 0;
     for(i = 0 ; i < N ;i ++)
     {
          for(j = 0 ; j <= k && result[j][0] != a; j ++)
                 ;
         if(j > k)
         {
               result[k][0] = a;     
              result[k][1] = 1;
              k ++;
         }
         else
         {
             result[j][1] ++;
         }
     }
   
     maxnum = 0;
     index = 0;
     for(j = 0 ; j <= k ;j ++)
         if(result[j][1] > maxnum)
          {
               maxnum = result[j][1];
                index = j;
          }
      printf("\n众数 :%d 出现:%d\n",result[0],result[1]) ;   
    return 0;
}



就是因为调不对了,我才把循环分开的

许久不用 C 了,有些生疏,丢银了。。。。。。。。。

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-10-16 21:29
快速回复:求五个数的众数
数据加载中...
 
   



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

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