m0_67597520 2022-05-06 20:44 采纳率: 86.4%
浏览 48
已结题

输出前二排错误,求解

输入:6634 9796 435 1405 6123 10001 11459 12018 10372 19874 12860 11326 7096 30205 27010
输出:
12860 27010 10001 10372 6123 6634 19874 435 1405 30205 9796 11326 7096 12018 11459
10001 1405 30205 27010 12018 6123 11326 6634 435 11459 12860 10372 19874 9796 7096
10001 27010 12018 7096 6123 30205 11326 10372 1405 435 11459 6634 9796 12860 19874
10001 30205 10372 435 11326 1405 11459 12018 12860 6123 6634 27010 7096 9796 19874
435 1405 6123 6634 7096 9796 10001 10372 11326 11459 12018 12860 19874 27010 30205
输入为15个不超出int数值范围的非负整数。
输出每次分派收集之后得到的一维数组,每个整数之间以空格隔开。每次输出占一行。(注意每行末尾有1个空格)
输出前二排错误,求解

#include <bits/stdc++.h>
using namespace std;
 
int d[100010];
vector<int> v[15]; 
vector<int> v2;
int main()
{
    int n=15, ma = 0;
    for(int i = 0; i < n; i++){
        cin>>d[i];
        int t = d[i], cnt = 0;
        while(t){
            t /= 10;
            cnt++;
        }
        if(ma < cnt)
            ma = cnt;
    }
    for(int i = 0; i < n; i++){
        v[d[i]%10].push_back(d[i]);
    }
    for(int i = 0; i < 15; i++)
        for(int j = v[i].size()-1; j >= 0; j--)
            v2.push_back(v[i][j]);
    cout<<v2[0];
    for(int i = 1; i < v2.size(); i++)
        cout<<' '<<v2[i];
    cout<<' '<<endl;
    int cnt = 0;
    if(cnt == ma-1)
        return 0;
    while(1){
        vector<int> v3[15];
        cnt++;
        for(int i = 0; i < v2.size(); i++){
            int t = v2[i];
            for(int j = 0; j < cnt; j++)
                t /= 10;
            v3[t%10].push_back(v2[i]);
        }
        v2.clear();
        for(int i = 0; i < 15; i++)
            for(int j = 0; j < v3[i].size(); j++)
                v2.push_back(v3[i][j]);
        cout<<v2[0];
        for(int i = 1; i < v2.size(); i++)
            cout<<' '<<v2[i];
        cout<<' '<<endl;
        if(cnt == ma-1)
            return 0;
    }
 } 
 

  • 写回答

1条回答 默认 最新

  • SmallAntJ 2022-05-09 05:29
    关注

    24行写成倒序输出了,改成正序就行了。 for(int j=0; j<v[i].size(); j++)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月17日
  • 已采纳回答 5月9日
  • 专家修改了标签 5月6日
  • 创建了问题 5月6日

悬赏问题

  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档