您的位置:首页 > 其它

L1-027. 出租

2016-07-17 13:30 302 查看

一、题目出处

     PAT PGLT 决赛

题目链接:https://www.patest.cn/contests/gplt/L1-027

这个题目还是之前火过一段时间的含代码的出租房间广告

二、解题代码

1.思路

(1)将号码中不同的数字存到一个数组中,并以降序排序

   (2)再根据号码的顺序查找对应数字的下标

    按照这个思路做其实很简单

2.代码如下

#include<cstdio>
#include<algorithm>
#include<functional>
using namespace std;

int main()
{
char tel[100];
int temp[10]={0};
int arr[10];
int index[11];
int i,j;

4000
int all=0;
gets(tel);
for(i=0;tel[i]!='\0';i++)
{
if(temp[tel[i]-'0']==0)
{
temp[tel[i]-'0']=1;
arr[all++]=tel[i]-'0';
}
}
//排序
sort(arr,arr+all,greater<int>());
//查找
for(i=0;tel[i]!='\0';i++)
{
for(j=0;j<all;j++)
{
if(tel[i]-'0'==arr[j])
{
index[i]=j;
break;
}
}
}
//输出
printf("int[] arr = new int[]{%d",arr[0]);
for(i=1;i<all;i++)
printf(",%d",arr[i]);
printf("};\n");

printf("int[] index = new int[]{%d",index[0]);
for(i=1;i<11;i++)
printf(",%d",index[i]);
printf("};\n");

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: