标题:菜鸟求助c编程,想要提取出已知的10个元素的数组中出现次数最多的元素(正常 ...
取消只看楼主
李海宝1990
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-2-20
结帖率:0
已结贴  问题点数:20 回复次数:3 
菜鸟求助c编程,想要提取出已知的10个元素的数组中出现次数最多的元素(正常出现最多的只有一个元素,如果有两个元素都为最多则取它俩平均值)
希望各位大神帮帮忙写一下,最好有代码注解,谢谢。
搜索更多相关主题的帖子: 平均值 c编程 元素 最好 
2017-02-20 13:33
李海宝1990
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-2-20
得分:0 
例如两个已知数组jiaodu[1,1,1,1,2,3,3,3,4,4]和jiaodu[1,1,1,2,2,3,3,3,4,4]
2017-02-20 13:36
李海宝1990
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-2-20
得分:0 
2017-02-20 13:41
李海宝1990
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-2-20
得分:0 
#include "stdio.h"
int main()
{
 int n,a[10],i,j,flag=0,max;
 int b[10]={0};//计数数组
 scanf("%d",&n);
 for(i=0;i<n;i++)
  scanf("%d",&a[i]);
    for(i=0;i<n-1;i++)
  for(j=i+1;j<n;j++)
   if(a[i]==a[j])
    b[i]++;
 for(i=0;i<n;i++)
  if(b[i]!=0)
  {
   flag=1;
   break;
  }
 if(flag==0)
 {
  printf("输入数据中没有重复出现的数!n");
  return 1;
 }

 max=b[0];
 for(i=1;i<n;i++)
  if(b[i]>max)
   max=b[i];
 for(i=0;i<n;i++)
   if(max==b[i])
  printf("出现最多次数的是%d,一共出现%d次n",a[i],b[i]+1);

}
2017-02-20 14:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474360-1-1.html




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

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