poj1002-487-3279(字符串处理)
一,题意:
中文题,不解释!
二,思路:
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(字符串处理)的更多相关文章
- javascript 过滤字符串中的中文与空格
js 如何过滤字符串里中文或空格呢?方法有很多种,我们可以使用替换与正则表达式来实现,本文向大家介绍两个简单的例子,感兴趣的码农可以参考一下. 1.javascript过滤空格: function m ...
- Java & PHP & Javascript 通用 RSA 加密 解密 (长字符串)
系统与系统的数据交互中,有些敏感数据是不能直接明文传输的,所以在发送数据之前要进行加密,在接收到数据时进行解密处理:然而由于系统与系统之间的开发语言不同. 本次需求是生成二维码是通过java生成,由p ...
- POJ 3279 Fliptile(翻格子)
POJ 3279 Fliptile(翻格子) Time Limit: 2000MS Memory Limit: 65536K Description - 题目描述 Farmer John kno ...
- POJ 3279 Filptile dfs
题目链接:http://poj.org/problem?id=3279 大意:给出一块n*m的棋盘.里面放满了棋子.有1和0两种状态.给出初始状态,翻动的时候会把当前位置和当前位置的上下左右共五个位置 ...
- [sqlite] 数据库遇到的问题 “该字符串未被识别为有效的 DateTime”
异常详细信息: System.FormatException: 该字符串未被识别为有效的 DateTime. 解决方案: 在日期保存到Sqlite数据库时转换一个类型,比如:string _now = ...
- poj1002 字典树+map+查询单词出现次数
487-3279 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 309235 Accepted: 55223 Descr ...
- Python基础 数据类型 (字符串、列表、字典、元组、集合、堆、栈、树)
数据类型有整型.布尔.字符串.列表.字典.元组.集合.堆.栈和树. 1.整型: 整型就是数字 数字表示 python2 64位机器,范围-2^63~2^63-1 超出上述范围,python自动转化为l ...
- JAVA提取字符串中所有的URL链接,并加上a标签
工具类 Patterns.java 1 package com.util; 2 3 import java.util.regex.Matcher; 4 import java.util.regex.P ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率
之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...
随机推荐
- CrashMonkey4IOS App测试
下载地址:https://github.com/vigossjjj/CrashMonkey4IOS 根据下载地址里面的说明安装一下,以下进行配置 1.进入CrashMonkey4IOS-master/ ...
- 第一次使用UML的感觉
刚开始接触的时候,其实我内心是拒绝的,因为感觉这种软件之前接触过,觉得就是相当于思维导图那种的. 可当自己使用的时候,觉得大纲总体上是类似是规划方向的,可是细节却让人深思,用什么图标,特别是用什么线, ...
- POJ 1979 Red and Black【DFS】
标准DFS,统计遍历过程中遇到的黑点个数 #include<cstdio> #include<vector> #include<queue> #include< ...
- Arduino uno LED灯实验
http://jingyan.baidu.com/article/a65957f4e358d924e67f9bad.html
- EditText获取和失去焦点,软键盘的关闭,和软键盘的显示和隐藏的监听
软键盘显示和隐藏的监听: 注: mReplayRelativeLayout是EditText的父布局 //监听软键盘是否显示或隐藏 mReplayRelativeLayout.getViewTreeO ...
- html5吹牛扯淡篇,闲话内容。
09年提出对媒体查询的草案,到今天的广泛运用,w3c带我们走进了个性化定制的殿堂.这些之所以会被认可会被写进世界级标准,因为他越来越适应广大用户的需求,需求就像一条锁链带动或者牵引整个互联网开发工作. ...
- android-sdk 开发连接不上
74.125.237.1 dl-ssl.google.com
- 【转】CentOS上部署PPTP和L2TP over IPSec简要笔记
PPTP部署 安装 PPTP 需要 MPPE 和较高版本的 ppp ( > 2.4.3 ) 支持,不过 CentOS 5.0/RHEL 5 的 2.6.18 内核已经集成了 MPPE 和高版本的 ...
- 禁用ViewPager边界滑动效果(转)
反射设置方法 private EdgeEffectCompat leftEdge; private EdgeEffectCompat rightEdge; public void DisableLRS ...
- C# Current thread must be set to single thread apartment (STA) mode before OLE calls can be made
将箭头指向部分替换为编译器报错的内容即可. 参考文章:https://www.experts-exchange.com/questions/28238490/C-help-needed-Current ...