一,题意:
  中文题,不解释!
二,思路:
  1,处理输入的电话号码
  2,排序num[]数组
  3,输出
三,步骤:
  1,消除 -、Q、Z 三种字符,将一个电话号码转化为一个整数存如num[]数组
    如:num[0]=4873279;
  2,快排函数:sort(num.num+t)  头文件:#include<algorithm>
  3,输出前面3位,后面4位,已经出现的次数(记住使用输出格式设置符的时候加头文件:iomanip)
    i,设置3位的宽度set(3)、除以10000之后不足3位的补0(setfill('0'))、
      cout << setfill('0') << setw(3) << num[i] / 10000;
      cout << '-';
    ii,设置4位的宽度set(4)、对10000取余之后不足4位的补0(setfill('0'))、
      cout << setfill('0') << setw(4) << num[i] % 10000;
      cout << ' ' << count << endl;
四,注意:
  1,所有电话号码中,一个重复的都没有才输出"No duplicates.",而且只出现一次的不输出。
  2,测试用例中会出现Q和Z,这两个字母要处理
  3,字符数组要开大些,,小了结果不正确
  4,注意电话号码开头是0的,也照样输出0

 #include<iostream>
#include<algorithm>
#include<cstring>
#include<iomanip> //I/O流控制头文件
using namespace std; int ctoi(char ch) //把字符ch转换为其在手机上对应的数字键
{
if (ch == 'A' || ch == 'B' || ch == 'C')
return ;
if (ch == 'D' || ch == 'E' || ch == 'F')
return ;
if (ch == 'G' || ch == 'H' || ch == 'I')
return ;
if (ch == 'J' || ch == 'K' || ch == 'L')
return ;
if (ch == 'M' || ch == 'N' || ch == 'O')
return ;
if (ch == 'P' || ch == 'R' || ch == 'S')
return ;
if (ch == 'T' || ch == 'U' || ch == 'V')
return ;
if (ch == 'W' || ch == 'X' || ch == 'Y')
return ;
} //注意:定义长度比较大的数组,最好定义在主函数外(即堆内存中)
char ch[]; //存储一行未处理的电话号码
int num[]; //存储多行已处理的电话号码(如:num[0]=4873279) int main() {
int t;
while (cin >> t) {
for (int i = ; i < t; i++) {
cin >> ch;
for (int j = , k = ; j < strlen(ch); j++) {
if (ch[j] == '-' || ch[j] == 'Q' || ch[j] == 'Z')
continue;
else if (ch[j] <= '')
num[i] = num[i] * + ch[j] - '';
else if (ch[j] <= 'Z')
num[i] = num[i] * + ctoi(ch[j]);
}
} sort(num, num + t); //快排函数sort头文件
bool flag = false;
int count = ;
for (int i = ; i < t; i++) {
if (num[i] == num[i + ]) {
count++;
flag = true;
}
else {
if (count > ) {
cout << setfill('') << setw() << num[i] / ;
cout << '-';
cout << setfill('') << setw() << num[i] % ;
cout << ' ' << count << endl;
}
count = ;
}
} if (!flag) {
cout << "No duplicates." << endl;
}
}
return ;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

poj1002-487-3279(字符串处理)的更多相关文章

  1. javascript 过滤字符串中的中文与空格

    js 如何过滤字符串里中文或空格呢?方法有很多种,我们可以使用替换与正则表达式来实现,本文向大家介绍两个简单的例子,感兴趣的码农可以参考一下. 1.javascript过滤空格: function m ...

  2. Java & PHP & Javascript 通用 RSA 加密 解密 (长字符串)

    系统与系统的数据交互中,有些敏感数据是不能直接明文传输的,所以在发送数据之前要进行加密,在接收到数据时进行解密处理:然而由于系统与系统之间的开发语言不同. 本次需求是生成二维码是通过java生成,由p ...

  3. POJ 3279 Fliptile(翻格子)

    POJ 3279 Fliptile(翻格子) Time Limit: 2000MS    Memory Limit: 65536K Description - 题目描述 Farmer John kno ...

  4. POJ 3279 Filptile dfs

    题目链接:http://poj.org/problem?id=3279 大意:给出一块n*m的棋盘.里面放满了棋子.有1和0两种状态.给出初始状态,翻动的时候会把当前位置和当前位置的上下左右共五个位置 ...

  5. [sqlite] 数据库遇到的问题 “该字符串未被识别为有效的 DateTime”

    异常详细信息: System.FormatException: 该字符串未被识别为有效的 DateTime. 解决方案: 在日期保存到Sqlite数据库时转换一个类型,比如:string _now = ...

  6. poj1002 字典树+map+查询单词出现次数

    487-3279 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 309235   Accepted: 55223 Descr ...

  7. Python基础 数据类型 (字符串、列表、字典、元组、集合、堆、栈、树)

    数据类型有整型.布尔.字符串.列表.字典.元组.集合.堆.栈和树. 1.整型: 整型就是数字 数字表示 python2 64位机器,范围-2^63~2^63-1 超出上述范围,python自动转化为l ...

  8. JAVA提取字符串中所有的URL链接,并加上a标签

    工具类 Patterns.java 1 package com.util; 2 3 import java.util.regex.Matcher; 4 import java.util.regex.P ...

  9. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  10. 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率

    之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...

随机推荐

  1. NYOJ之题目325 zb的生日

    -------------------------------------- 刷一辈子水题... AC代码: import java.util.Scanner; public class Main { ...

  2. iOS打包测试

    iOS开发中,怎么打包为ipa格式的软件包以及怎么安装到手机终端上. (我的开发环境为Xcode6.1.1 )作为个人开发者(当然我的开发者帐号为个人开发者帐号,而不是企业开发者帐号),对于自己来说, ...

  3. Duilib源码分析(四)绘制管理器—CPaintManagerUI—(前期准备四)

    接下来,分析uilib.h中的WinImplBase.h和UIManager.h: WinImplBase.h:窗口实现基类,已实现大部分的工作,基本上窗口类均可直接继承该类,可发现该类继承于多个类, ...

  4. Linux IPTABLES端口转发

    之前在Linux上用普通用户部署了一个Tomcat,然后将其server.xml中的端口配置为80端口,用普通用户运行就提示绑定端口失败(permission denied),google了一下,原来 ...

  5. Python-面向对象(类)二

    一.成员修饰符 • 共有成员 • 私有成员 __+字段 __:成员修饰符 无法直接访问,只能通过该成员所属类的方法简介访问 class Foo: def __init__(self, name, ag ...

  6. 使用ZwMapViewOfSection创建内存映射文件总结

    标 题: [原创]使用ZwMapViewOfSection创建内存映射文件总结 作 者: 小覃 时 间: 2012-06-15,02:28:36 链 接: http://bbs.pediy.com/s ...

  7. Java EE之数据库连接与插入

    在这之前应该先: **保证项目中导入了mysql-connector-java-5.1.23-bin.jar **服务器上的数据库24小时连接成功: 1.在源包下新建一个普通的Java文件,取名为My ...

  8. Keras官方Example里Mnist-cnn的调试运行

    问题:老板让测试运行Keras官网里的Mnist-cnn.py,结果从下载数据就是一路坑-- 当前环境:Ubuntu12.04.python2.7.Keras 1.1.1(不知道这个版本号对不对,在启 ...

  9. java function retry wrapper

    import java.util.concurrent.Callable; /** * Created by huahui.yang on 1/29/16. */ public class Retry ...

  10. 关于在header里增加参数的方式

    在使用一个API的时候,文档里写的返回值类型是json,可是试了下返回的明明是xml,还小小的鄙视了一把. 可是解析xml,好麻烦的.最好是json可以直接decode . 意外看到文档下面有一句 J ...