qq_32609151 2017-04-02 16:53 采纳率: 0%
浏览 1582

腾讯笔试题:输入一串数字,长度不固定,数字间空格隔开,求每个数字出现的次数

求解决,看看我代码哪里出问题

#include <iostream>
using namespace std;

 //输入一串数字,长度不固定,数字间空格隔开,求每个数字出现的次数,每行用n(m)形式输出,n为不同的数,m为n出现的次数 

int main(int argc, char *argv[]) {  //问题 :只能输出第一个数的出现次数 
    typedef struct str{
       int a;
       int b; 
    };
    str str1[100];
    int n=0;
    int test[100];
    int k=1;
    int flag=1;   
    while(cin.get()!='\n'){     //问题 每次输入数据都会少掉第一个字符 输入时加空格则不会出现此问题,求解决方案 
                cin>>test[n];
                n++;    
    }

     for(int i=0;i<100;i++){
          str1[i].a=0;
          str1[i].b=0;
    }
    str1[0].a=test[0];
     str1[0].b=0;
    for(int i=0;i<n;i++){   // 2 2 3 4 5  2 3
        for(int j=0;j<k;j++)
          {
            if(test[i]==str1[j].a){
                str1[j].b++;
                flag=1; 
            }   
          }
        if(flag!=1){ 
                str1[k].a=test[i];
                str1[k].b=1;
                k++;
                flag=1;
        }
    }

    for(int i=0;i<k;i++){
         cout<<str1[i].a<<'(';
         cout<<str1[i].b<<')'<<endl;
    }

    return 0;
}
  • 写回答

2条回答

  • merlin’s girl 2017-04-03 05:20
    关注

    int main(int argc, char *argv[]) { //问题 :只能输出第一个数的出现次数
    typedef struct str{
    int a;
    int b;
    };
    str str1[100];
    int n=0;
    int test[100];
    int k=1;
    int flag=1;

    while(cin.get()!='\n'){ //问题 每次输入数据都会少掉第一个字符 输入时加空格则不会出现此问题,求解决方案
    cin>>test[n];
    n++;

    }

     for(int i=0;i<n;i++){
          str1[i].a=test[i];
          str1[i].b=0;
    }
    for(int i=0;i<n;i++){  // 2 2 3 4 5 2 3
        flag=1;
            for(int k=0;k<i;k++)
              if(str1[k].a==str1[i].a) 
              {flag=0;break;}
          if(flag!=0)
              for(int j=0;j<n;j++)
            {
              if(test[j]==str1[i].a)
                  str1[i].b++; 
             }
    }
    
    for(int i=0;i<n;i++){
        if(str1[i].b!=0)
       {  cout<<str1[i].a<<'(';
         cout<<str1[i].b<<')'<<endl;
    }
    }
    system("pause");
    return 0;
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘