【PTA】L1-027 出租(C++)

简介: 【PTA】L1-027 出租(C++)

题目要求:

下面是新浪微博上曾经很火的一张图:

题目要求:

时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100

本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的

输入格式:

输入在一行中给出一个由11位数字组成的手机号码。

输出格式

为输入的号码生成代码的前两行,其中arr中的数字必须按递减顺序给出。

输入样例:

18013820100

输出样例:

int[] arr = new int[]{8,3,2,1,0};

int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};

思路:

1.输入一串字符串,先将字符串转为数字

2.将这些数字从大到小放到一个新数组中

3.判断这些数字在新数组中数字的下标

4.按照要求进行输出

代码:

#include<bits/stdc++.h>

using namespace std;
const int N=200;
int main()
{
    string s;
    int a[N];
    int b[N]={0};
    int arr[N]={0};
    cin >> s;
    //cout<<s.size();
    for(int i = 0;i < s.size();i ++)
    {
        a[i] = s[i] - '0';
        b[a[i]] ++;
    }
    int k = 0;
    for(int i = 9;i >= 0;i --)
    {
        if(b[i] > 0)
            arr[k++] = i;
    }
    printf("int[] arr = new int[]{");
    for(int i = 0;i < k - 1;i ++)
        printf("%d,",arr[i]);
    printf("%d};\n",arr[k]);
    
    int m[N];
    int x=0;
    for(int i = 0;i < s.size();i++)
    {
        for(int j = 0;j<k;j++)
            if(a[i] == arr[j])
                m[x++] = j;
    }
    printf("int[] index = new int[]{");
    for(int i = 0;i < s.size() - 1;i ++)
        printf("%d,",m[i]);
    printf("%d};\n",m[s.size() - 1]);
    return 0;
}

测试结果 :

这里有俩个测试点一直过不去,如果有大佬知道哪里的问题,请多多指教


目录
相关文章
|
6月前
|
C++
【PTA】L1-016 验证身份(C++)
【PTA】L1-016 验证身份(C++)
86 0
【PTA】L1-016 验证身份(C++)
|
5月前
|
存储 C++
【PTA】L1-039 古风排版(C++)
【PTA】L1-039 古风排版(C++)
36 1
|
6月前
|
Java C++
部落(pta)(并查集) Java以及C++
部落(pta)(并查集) Java以及C++
54 2
|
5月前
|
存储 人工智能 C++
【PTA】L1-064 估值一亿的AI核心代码(详C++)
【PTA】L1-064 估值一亿的AI核心代码(详C++)
38 1
|
5月前
|
存储 C++ 索引
【PTA】L1-059 敲笨钟(C++)
【PTA】L1-059 敲笨钟(C++)
27 1
|
5月前
|
存储 人工智能 C++
【PTA】L1-093 猜帽子游戏(C++)
【PTA】L1-093 猜帽子游戏(C++)
102 1
|
5月前
|
C++
【PTA】L1-046 整除光棍(C++)
【PTA】L1-046 整除光棍(C++)
56 1
|
5月前
|
存储 C++
【PTA】L1-043 阅览室(C++)
【PTA】L1-043 阅览室(C++)
32 1
|
5月前
|
存储 C++
【PTA】​L1-034 点赞(C++)
【PTA】​L1-034 点赞(C++)
25 0
|
6月前
|
前端开发 JavaScript 测试技术
【PTA】L1-32 Left-pad (C++)
【PTA】L1-32 Left-pad (C++)
42 0
【PTA】L1-32 Left-pad (C++)