PTAレンタル(20ポイント)

GPLTをエクスポートする

(記事のディレクトリ)

トピックの言い換え

7-8レンタル(20ポイント)
以下は、かつて新浪微博で人気だった写真です。

ここに画像の説明を挿入

突然、インターネット上でこれを破る方法を尋ねる助けを求める声がありました。実際、このコードは非常に単純で、インデックス配列はarr配列の添え字であり、index [0] = 2はarr [2] = 1に対応し、index [1] = 0はarr [0] = 8に対応します。 index [2] = 3 arr [3] = 0に対応します。以下同様です...電話番号を18013820100として取得するのは簡単です。

この質問では、任意の電話番号に対してこのコードを生成するプログラムを作成する必要があります。実際、最初の2行が生成されている限り、その後の内容は変更されません。

入力フォーマット:

11桁の携帯電話番号を1行に入力してください。

出力フォーマット:

入力した番号のコードの最初の2行を生成します。ここで、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.電話番号に表示される番号を数えます(配列a)。
3.出力サンプルのフォーマット順に従って、最大から最小へ出力します。同時に、別の配列cを使用して、電話番号に表示された番号を最大から最小まで保持します。
4. cを作成した後、文字列sの各文字をcと1つずつ比較して添え字を決定し、出力します
。5。注:出力例 "int [] arr = new int [] {8、3 、2,1,0}; "出力{}の間の最後の数字の後にコンマはありません。
アイデアは比較的単純で、ブロガーは問題の解決策を書き始めたばかりで、多くの場所が不完全に検討されています。あなたが私を訂正してくれることを願っています!

コード

#include<iostream>
#include<string.h>
using namespace std;
int main()
{
    
    
    string s;
    int a[10]={
    
    0,0,0,0,0,0,0,0,0,0},b[11],c[10];
    cin>>s;
    for(int i=0;i<11;i++)
    {
    
    
        if(s[i]=='0') a[0]=1;
        else if(s[i]=='1') a[1]=1;
        else if(s[i]=='2') a[2]=1;
        else if(s[i]=='3') a[3]=1;
        else if(s[i]=='4') a[4]=1;
        else if(s[i]=='5') a[5]=1;
        else if(s[i]=='6') a[6]=1;
        else if(s[i]=='7') a[7]=1;
        else if(s[i]=='8') a[8]=1;
        else if(s[i]=='9') a[9]=1;
    }
    int k=0,n=0;
    for(int l=0;l<10;l++)
        if(a[l]==1) n++;

    cout<<"int[] arr = new int[]{";
    for(int j=9;j>=0;j--)
    {
    
    if(a[j]==1&&k<n-1) {
    
    cout<<j<<",";c[k]=j;k++;}
    else if(a[j]==1){
    
    cout<<j;c[k]=j;k++;}
    }
    cout<<"};"<<endl;
    cout<<"int[] index = new int[]{";
    for(int p=0;p<s.length();p++)
        for(int t=0;t<k;t++)
        {
    
    
            if(s[p]-'0'==c[t]&&p<10) cout<<t<<",";
            else if(s[p]-'0'==c[t]) cout<<t;
        }
    cout<<"};"<<endl; 
}

おすすめ

転載: blog.csdn.net/weixin_44108271/article/details/109413183