L1-027 出租 (20 分)
题意
思路
1.先找到号码里面不重复的数,递减排序
2. 再根据号码找到对应下标
坑点
- 要注意输出格式,最后一个数输出不要逗号
代码
#include<bits/stdc++.h>
using namespace std;
int in[15]={0};
int arr[10]={0};
bool b[20]={0};
int main()
{
string s;//先输入电话号码
cin>>s;
int x=0,y=0;
for(int i=0;i<s.length();i++)
{
if(b[s[i]-'0']==0)
{
arr[x]=(s[i]-'0');
x++;
b[s[i]-'0']=1;
}
}
sort(arr,arr+x,greater<int>());
cout<<"int[] arr = new int[]{";
for(int i=0;i<x;i++)
{
cout<<arr[i];
if(i!=x-1)
{
cout<<",";
}
}
cout<<"};"<<endl;
for(int i=0;i<s.length();i++)
{
for(int j=0;j<x;j++)//小于号码有的不重复数字量
{
if((s[i]-'0')==arr[j])
{
in[y]=j;
y++;
}
}
}
cout<<"int[] index = new int[]{";
for(int i=0;i<y;i++)
{
cout<<in[i];
if(i!=y-1)
{
cout<<",";
}
}
cout<<"};"<<endl;
return 0;
}