题目描述

某电线杆上出现了如下的出租信息:
紫荆公寓单间短期出租四个月,550元/月(水电煤公摊,网费35元/月)。空调,卫生间,厨房齐全。屋内均为 IT 行业人士,喜欢安静,所以要求前来出租者最好为同行或者刚毕业的年轻人,爱干净、安静.
有意者电联
联系人:成先生
联系方式:请阅读代码
int[] arr = new int[]{8,2,1,0,3};
int[] index = new int[]{2,0,3,2,4,0,1,3,2,3,3};
String tel = “”;
for(int i : index){
tel+= arr[i];
}
System.out.println(“Tel:”+tel);

有人想租房,却不知道电话号码到底是多少。其实这段代码很简单,index 数组就是 arr 数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推,很容易得到电话号码为 18013820100。
HYR 觉得这十分有创意,但是他不会编程,于是他找到了你,希望你生成该程序的前两行(因为后面都是一样的)的程序。

输入

一行电话号码(长度不多于 20)

输出

两行分别输出代码的前两行,为了统一格式,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};

分析

  • 这是我大一学院天梯选拔赛翻车的一道水题。由于当时时间紧迫,又执着于找出输入号码中的几个不同的数字存入数组再排序,就这样gg了。
  • 题目思路很简单明了:找到输入号码中的不同数字以递减顺序存入arr数组中。然后,找到输入的各个数字在arr数组中的下标,并把下标值存在index数组中。最后,按题目格式输出即可。
    1. 由于输入的号码最多可到20且为了方便处理,所以我们选择用字符串存储号码。
    2. 我们可先创建一个bool类型的hava标记数组,然后遍历字符串,如果数字i出现,则把hava[i]标记为true。
    3. 接着,因为是要求降序存储,所以从9到0遍历arr数组。如果Hava[i]为true,则把i存储在arr数组中。(由于hava标记数组的存在,省去了排序的时间,也减少了不同数字的难度)
    4. 找到输入的各个数字在arr数组中的下标,并把下标值存在index数组中。最后按题目所给的格式输出就好。这里值得注意的是,**格式最好直接复制样例输出的!!!**不然因为自己打错字母,打漏空格而WA一次,就太不值得了。

代码如下

#include <iostream>
#include <string>
using namespace std;
int arr[10],index[20];
bool hava[10];//标记数组
int main()
{string s;int ans=0;cin>>s;for(int i=0;i<s.length();i++)//遍历字符串{int dex=s[i]-'0';hava[dex]=true;//如果有这个数字,则做标记}for(int i=9;i>=0;i--)//因为要递减顺序,所以是从9到0遍历{if(hava[i])arr[ans++]=i;}for(int i=0;i<s.length();i++){int dex=s[i]-'0';for(int j=0;j<ans;j++)if(arr[j]==dex){index[i]=j;break;//如果找到了,就结束本层循环}}for(int i=0;i<ans;i++){if(i==0)cout<<"int[] arr = new int[]{";else cout<<",";cout<<arr[i];}cout<<"};"<<endl;for(int i=0;i<s.length();i++){if(i==0)cout<<"int[] index = new int[]{";else cout<<",";cout<<index[i];}cout<<"};"<<endl;return 0;
}

出租(标记+格式输出)相关推荐

  1. 文档中根元素后面的标记格式必须正确。

    文档中根元素后面的标记格式必须正确. php或其它语言动态输出的xml,最开始<标记 前面有空格,最后面>标记 后面有 空格 导致xml解析出错 解决办法: var data:String ...

  2. 【HDU - 2093】 考试排名(排序+格式输出)

    题干: C++编程考试使用的实时提交系统,具有即时获得成绩排名的特点.它的功能是怎么实现的呢?  我们做好了题目的解答,提交之后,要么"AC",要么错误,不管怎样错法,总是给你记上 ...

  3. ACMNO.34 C语言-格式输出 请设计输出实数的格式,包括:⑴一行输出一个实数;⑵一行内输出两个实数;⑶一行内输出三个实数。实数用6.2f格式输出。

    题目描述 请设计输出实数的格式, 包括: ⑴一行输出一个实数:⑵一行内输出两个实数:⑶一行内输出三个实数. 实数用"6.2f"格式输出. 输入 一个实数,float范围 输出 输出 ...

  4. ACMNO.11 一个数如果恰好等于它的因子之和,这个数就称为“完数“。 例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数“。 编程序找出N之内的所有完数,并按下面格式输出其因子

    写在前面,心得感悟~ 代码越来越有难度! 这个ACM题,我调试了 将近50次~ 一个小时! 真的是,年纪轻轻的搞什么ACM呀! 关于题的解决思路放在下面再写吧! 题目描述 一个数如果恰好等于它的因子之 ...

  5. php 标准输出到文件格式,php格式输出文件var_export函数实例

    本文实例讲述了php格式输出文件var_export函数的用法.分享给大家供大家参考.具体如下: var_export:php 4 >= 4.2.0, php 5 var_export -- 输 ...

  6. 设计输出实数的格式,实数用%6.2f格式输出

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p241 习题7 15.设计输出实数的格式,实数用"%6.2f"格式输出,要求: ( ...

  7. 编写程序,输入各类型变量按相应格式输出

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p90 习题3 1.编写程序使得整型变量:a=3,b=4,c=5,p=0xfffe,q=0xffff:浮 ...

  8. mysql_select按照指定的格式输出到文件

    2019独角兽企业重金招聘Python工程师标准>>> setup1: 生成需要查询的表名文件: select TABLE_NAME  from TABLES where TABLE ...

  9. python中的format什么意思中文-Python中format()格式输出全解

    格式化输出:format() format():把传统的%替换为{}来实现格式化输出 1.使用位置参数:就是在字符串中把需要输出的变量值用{}来代替,然后用format()来修改使之成为想要的字符串, ...

最新文章

  1. 软件项目管理面面观之“玩的就是心跳”
  2. s5pv210启动debian出错提示bash: cannot set terminal process group (-1): Inappropriate ioctl for device...
  3. 【Matlab 控制】仿真多智体一致性分析,附代码
  4. 变频器怎么设置_如何利用串口调试软件与变频器通信?
  5. 如何在DevSecOps道路上快速、安全地抵达终点
  6. vue-promise-axios
  7. Eclipse—在Eclipse中如何创建JavaWeb工程
  8. C# winform解决解决窗体第一次设置为最大化后,点击最大化按钮窗体无法居中问题...
  9. PYTHON简单的16进制转字符串
  10. 挂单html模板,修改标签模板(指令打印)
  11. 河北农大计算机专业全国排名,2019河北农业大学现代科技学院专业排名
  12. 乔纳森·艾维:iPhoneX准备了五年,苹果仍在不断创新
  13. Gigaphoton宣布产品列表刷新计划
  14. cs架构接口协议(常用socket协议)与bs架构接口协议(常用http协议)
  15. Mac 用命令行终端打开app应用程序
  16. 传奇定时器OnTimer功能详解(泡点、时间触发、任务活动)
  17. 【网络教程】如何关闭微信“个性化推荐广告”
  18. 不同款式木屐各种角度的画法大全
  19. 手动编写SpringIOC框架
  20. 计算机的硬盘太大也没有用,电脑硬盘缺陷就是损耗非常大,我们应该怎么解决...

热门文章

  1. 2021-07-29
  2. 用户层CS段描述符信息
  3. C++日志系统log4cxx使用总结
  4. matlab中大figure怎样修改,操作Matlab的Figure窗口(一)
  5. 什么时候能用Δs判断反应进行方向_化学反应原理复习 第二章
  6. 别问我SolarWinds Orion API怎么用,自己进来看看,看完还不会来骂我
  7. Microsoft RTF栈溢出漏洞(CVE-2010-3333)漏洞分析
  8. 1.API的调用过程(3环部分)
  9. HTML5学习笔记(二)2015-12-7
  10. 1.24 Lambda表达式与匿名内部类的联系和区别