永发信息网

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

答案:3  悬赏:80  手机版
解决时间 2021-12-29 06:05
  • 提问者网友:战皆罪
  • 2021-12-29 01:02
C++怎么样才能将输入的10个数输出其中不同的数
最佳答案
  • 五星知识达人网友:孤独的牧羊人
  • 2021-12-29 01:11
解决思路如下:
  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]);
    }
}
全部回答
  • 1楼网友:杯酒困英雄
  • 2021-12-29 01:34
首先你把输入的数放入数组a[]中 for( i = 0; i < 10 ; i ++) { for(j = i +1; j < 10 ;j++) { if(a[i] == a[j]) {cout << a[i] ;} } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯