菜鸟的博客

纵有疾风起,人生不言弃。

导航

2023.7.7

  1 //2023.7.7
  2 //PTA
  3 #include<iostream>
  4 #include <iomanip>
  5 #include<cstdio>
  6 #include<cmath>
  7 #include<cstring>
  8 using namespace std;
  9 void test01()
 10 {
 11     string s;
 12     int tel[12] = {0};
 13     int arr[11] = {0};
 14     int index[12] = {0};
 15     int num[10] = {0};
 16     cin >> s;
 17     for (int i = 0; i < 11; i++)
 18     {
 19         tel[i] = s[i] - '0';
 20     }
 21     for (int i = 0; i < 11; i++)
 22     {
 23         switch (tel[i])
 24         {
 25         case 0:
 26             num[0]++;
 27             break;
 28         case 1:
 29             num[1]++;
 30             break;
 31         case 2:
 32             num[2]++;
 33             break;
 34         case 3:
 35             num[3]++;
 36             break;
 37         case 4:
 38             num[4]++;
 39             break;
 40         case 5:
 41             num[5]++;
 42             break;
 43         case 6:
 44             num[6]++;
 45             break;
 46         case 7:
 47             num[7]++;
 48             break;
 49         case 8:
 50             num[8]++;
 51             break;
 52         case 9:
 53             num[9]++;
 54             break;
 55         default:
 56             break;
 57         }
 58     }//找出电话号码中所包含的数字
 59     int n = 0;
 60     for (int i = 9; i >=0; i--)
 61     {
 62         if (num[i] != 0)
 63         {
 64             arr[n] = i;
 65             n++;
 66         }
 67     }//将电话号码中的数字,按照降序排列在数组arr中
 68     int m = 0;
 69     for (int i = 0; i < 12; i++)
 70     {
 71         for (int j = 0; j < n; j++)
 72         {
 73             if (tel[i] == arr[j])
 74             {
 75                 index[m] = j;
 76                 m++;
 77             }
 78         }
 79     }//将电话号码中数字对应arr的下标赋值给index中
 80     int a = 0;
 81     int b = 0;
 82     cout << "int[] arr = new int[]{";
 83     for (int i = 0; i < n; i++)
 84     {
 85         cout << arr[i];
 86         a++;
 87         if (a == n)
 88         {
 89             cout << "};";
 90         }
 91         else
 92         {
 93             cout << ",";
 94         }
 95     }
 96     cout << endl;
 97     cout << "int[] index = new int[]{";
 98     for (int i = 0; i < 11; i++)
 99     {
100             cout << index[i];
101             b++;
102             if (b == 11)
103             {
104                 cout << "};";
105             }
106             else
107             {
108                 cout << ",";
109             }
110     }
111     cout << endl;
112 }
113 int main()
114 {
115     test01();
116     return 0;
117 }

 

posted on 2023-07-07 20:01  hhmzd233  阅读(19)  评论(0编辑  收藏  举报