PAT/字符串处理习题集(一)

B1006. 换个格式输出整数 (15)

Description:

让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。

Input:

每个测试输入包含1个测试用例,给出正整数n(<1000)。

Output:

每个测试用例的输出占一行,用规定的格式输出n。

Sample Input1:

234

Sample Output1:

BBSSS1234

Sample Input2:

23

Sample Output2:

SS123

 1 #include <cstdio>
 2
 3 int main()
 4 {
 5     int n;
 6     scanf("%d", &n);
 7
 8     int num = 0, ans[5];
 9     while(n != 0) {
10         ans[num++] = n%10;
11         n /= 10;
12     }
13
14     for(int i=num-1; i>=0; --i) {
15         if(i == 2) {
16             for(int j=0; j<ans[i]; ++j)
17                 printf("B");
18         } else if(i == 1) {
19             for(int j=0; j<ans[i]; ++j)
20                 printf("S");
21         } else {
22             for(int j=1; j<=ans[i]; ++j)
23                 printf("%d", j);
24         }
25     }
26
27     return 0;
28 }

B1021. 个位数统计 (15)

Description:

给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。

Input:

每个输入包含1个测试用例,即一个不超过1000位的正整数N。

Output:

对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。

Sample Input:

100311

Sample Output:

0:2
1:3
3:1

 1 #include <cstdio>
 2 #include <cstring>
 3
 4 #define MaxSize 1010
 5 char List[MaxSize];
 6
 7 int main()
 8 {
 9     //freopen("E:\\Temp\\input.txt", "r", stdin);
10
11     gets(List);
12
13     int len = strlen(List), ans[10] = {0};
14     for(int i=0; i<len; ++i)
15         ++ans[List[i]-‘0‘];
16
17     for(int i=0; i<10; ++i) {
18         if(ans[i] != 0)
19             printf("%d:%d\n", i, ans[i]);
20     }
21
22     return 0;
23 }
时间: 2024-10-13 19:26:50

PAT/字符串处理习题集(一)的相关文章

PAT 字符串-02 删除字符串中的子串

1 /* 2 2 *PAT 字符串-02 删除字符串中的子串 3 3 *2015-08-09 4 4 作者:flx413 5 5 */ 6 7 #include<stdio.h> 8 #include<string.h> 9 10 void fun(char *str, char *substr) { 11 int i, j, k, flag; 12 int len = strlen(substr); 13 14 while(strstr(str, substr)) { //如果字

PAT/简单模拟习题集(一)

B1001.害死人不偿命的(3n+1)猜想 (15) Description: 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展-- 我们今天

PAT/图形输出习题集

B1027. 打印沙漏 (20) Description: 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * *** ***** 所谓"沙漏形状",是指每行输出奇数个符号:各行符号中心对齐:相邻两行符号数差2:符号数先从大到小顺序递减到1,再从小到大顺序递增:首尾符号数相等. 给定任意N个符号,不一定能正好组成一个沙漏.要求打印出的沙漏能用掉尽可能多的符号. Input: 输入在一行给出1个正整数N(&

PAT/简单模拟习题集(二)

B1018. 锤子剪刀布 (20) Discription: 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. Input: 输入第1行给出正整数N(<=105),即双方交锋的次数.随后N行,每行给出一次交锋的信息,即甲.乙双方同时给出的的手势.C代表"锤子".J代表"剪刀".B代表"布",第1个字母代表甲方

hive字符串函数

1. 字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length('abcedfg') from lxw_dual; 7 2. 字符串反转函数:reverse 语法: reverse(string A) 返回值: string 说明:返回字符串A的反转结果 举例: hive> select reverse(abcedfg') from lxw_dual; gfdecba 3. 字符串连接函数

Hive 字符串操作[转]

1. 字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length('abcedfg') from lxw_dual; 7 2. 字符串反转函数:reverse 语法: reverse(string A) 返回值: string 说明:返回字符串A的反转结果 举例: hive> select reverse(abcedfg') from lxw_dual; gfdecba 3. 字符串连接函数

Hive常用字符串操作函数

? ? 返回类型 函数名 描述 int length(string A) 返回字符串A的长度 select length(weoirjewo);select length(name) from stu; 此函数在实际工作,可以用于校验手机号,身份号等信息的合法性 string reverse(string A) 返回字符串A的反转结果 select reverse('abcd');select length(name) from stu; string concat(string A, stri

Hive入门到剖析(一)

1 Hive简介 1.1 Hive定义 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 本质是将SQL转换为MapReduce程序. 1.2 为什么使用Hive 1.面临的问题 人员学习成本太高 项目周期要求太短 我只是需要一个简单的环境 MapReduce  如何搞定 复杂查询好难 Join如何实现 2.为什么要使用Hive 操作接口采用类SQL语法,提供快速开发的能力 避免了去写MapReduce,减少开发人员的学习成本 扩展

hive支持sql大全

转自:http://www.aboutyun.com/thread-7316-1-1.html 一.关系运算:1. 等值比较: = 语法:A=B 操作类型:所有基本类型 描述: 如果表达式A与表达式B相等,则为TRUE:否则为FALSE 举例:hive>select 1 from lxw_dual where 1=1; 2. 不等值比较: <> 语法: A <> B 操作类型: 所有基本类型 描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL:如果表达式A与