一,题意:
  中文题,不解释!
二,思路:
  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. 创建cocos项目并打包

  2. Golang 语法学习笔记

    Golang 语法学习笔记 包.变量和函数. 包 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 包名与导入路径的最后一个目录一致."math/rand" 包由 ...

  3. Delphi控件之---UpDown以及其与TEdit的配合使用(比如限制TEdit只能输入数字,还有Object Inspector之组件属性的介绍)

    最近在开发中使用到了UpDown这个控件,但是因为之前没有使用过,所以很不熟悉,于是就编写了一个简单的demo来学习UpDown以及其结合TEdit的用法. 初步的常用功能的简介 目前(2015.08 ...

  4. react-native 踩坑记

    最近在使用react-native的时候遇到了很多坑,这里给大家分享下 一.样式 react-native 虽然支持flex布局,但是所有的样式均是css样式的一个很小的集合,尤其是在安卓机下问题尤为 ...

  5. LinkedHashMap源码阅读笔记(基于jdk1.8)

    LinkedHashMap是HashMap的子类,很多地方都是直接引用HashMap中的方法,所以需要注意的地方并不多.关键的点就是几个重写的方法: 1.Entry是继承与Node类,也就是Linke ...

  6. 详细讲述MySQL中的子查询操作 (来自脚本之家)

    继续做以下的前期准备工作: 新建一个测试数据库TestDB: ? 1 create database TestDB; 创建测试表table1和table2: ? 1 2 3 4 5 6 7 8 9 1 ...

  7. hack

    1.Firefox @-moz-document url-prefix() { .selector { property: value; } }上面是仅仅被Firefox浏览器识别的写法,具体如: @ ...

  8. HDU4417 Super Mario(主席树)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=4417 Description Mario is world-famous plumber. ...

  9. Git小记

    Git简~介 Git是一个分布式版本控制系统,其他的版本控制系统我只用过SVN,但用的时间不长.大家都知道,分布式的好处多多,而且分布式已经包含了集中式的几乎所有功能.Linus创造Git的传奇经历就 ...

  10. python os.path模块

    os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回文件名 os.path.commonprefix(list) #返回list(多个路径) ...