永发信息网

C++怎么样才能将输入的10个数输出其中不同的数

答案:3  悬赏:80  手机版
解决时间 2021-12-29 06:05
C++怎么样才能将输入的10个数输出其中不同的数
最佳答案
解决思路如下:
  1 首先统计各个数出现的频率
  2 以频率最高的数为基准,将其他数输出
  示例代码如下:

void findDiff(int* a,int nlen)
{
    int* count = new int[nlen+nlen];
    if(count==NULL)return;
    memset(count,0,sizeof(int)*nlen*2;
    int ntotal = 0;
    for(int i=0;i<nlen;i++)
    {//遍历a数组 进行统计
        for(int j=0;j<ntotal;j++)
        {
            if(count[j]==a[i]){//已经出现过的数据
                count[j+nlen]++;//计数增加
                break;
            }
        }
        if(j>=ntotal){//发现一个新的数据了
            count[j] = a[i];
            ntotal++;
        }
    }
    //ntatal现在记录的是有多少种数据
    int max=0,nindex=0;
    for(int i=0;i<ntotal;i++)
    {
        if(max<count[i+nlen]){//找到一个大的
            max = count[i+nlen];
            nindex = i;
        }
    }
    //现在nindex记录的是出现最多的那个数,输出其他数
    for(int i=0;i<ntotal;i++)
    {
        if(i==nindex)continue;//跳过这个最多次出现的数
        printf("%d\n",count[i]);
    }
}
全部回答
首先你把输入的数放入数组a[]中 for( i = 0; i < 10 ; i ++) { for(j = i +1; j < 10 ;j++) { if(a[i] == a[j]) {cout << a[i] ;} } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
托业500分要多少词汇量
三个平面两两相交,则它们的交线条数有______
她说千万不要爱上我我怕伤害到你希望永远都是
手表用什么量词
松下空调接收头在什么地方
翻译You can’t walk around the track at th
庞恭与太子质(质,作人质)于邯郸,谓魏王曰:
为什么改签飞机票多余的钱不返还
苹果快充29W充电时充电头有轻微的滋滋声 是怎
单选题Wemust________measurestokeeptheen
电信宽带连接无线路由器在连接电脑为什么不能
韩国有钱人多吗
(2010·湖北省恩施自治州)古诗欣赏  送友人
除非表示什么意思
怎么通过车牌查车主手机号码????
推荐资讯
想在镇上买个门面房做生意,大家给点主意开什
如何办理照会?
微信上显示不出来火车票订单详情
单选题下列各学科中,受中世纪神学束缚最大的
广东三大语言都是哪些?
塘尾边防派出所办公地址在什么地方?我要处理
叶子从树上落下来像什么
海尔洗衣机洗衣缸转动底盘下的缸体有裂缝漏水
在古代表示“水”的词和表示”家的词有哪些
写不了字,短信,微信还是其它,所以都写不了
江淮瑞风S2手动,着不了火,着火时候啪啪得响
北师大版语文书4年级上学期学了那几个古诗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?