PAT乙级

-------------本文结束感谢您的阅读-------------

PAT乙级学习笔记

编号 标题 题解 分类
1001 害死人不偿命的(3n+1)猜想 C++ 简单模拟
1002 写出这个数 C++ 字符串处理
1003 我要通过! C++ 数学
1004 成绩排名 C++ 查找元素
1005 继续(3n+1)猜想 C++ 散列
1006 换个格式输出整数 C++ 字符串处理
1007 素数对猜想 C++ 素数
1008 数组元素循环右移问题 C++ 简单模拟
1009 说反话 C++、Java、python 字符串处理
1010 一元多项式求导 C++ 简单模拟
1011 A+B和C C++ 简单模拟
1012 数字分类 C++ 简单模拟
1013 数素数 C++ 素数
1014 福尔摩斯的约会 C++ 字符串处理
1015 德才论 C++ 排序
1016 部分A+B C++ 简单模拟
1017 A除以B C++ 大整数运算
1018 锤子剪刀布 C++ 简单模拟
1019 数字黑洞 C++ 数学
1020 月饼 C++ 贪心
1021 个位数统计 C++ 字符串处理
1022 D进制的A+B C++ 进制转换
1023 组个最小数 C++ 贪心
1024 科学计数法 C++ 字符串处理
1025 反转链表 C++ 链表
1026 程序运行时间 C++ 简单模拟
1027 打印沙漏 C++ 字符串处理
1028 人口普查 C++ 查找元素
1029 旧键盘 C++ 散列
1030 完美数列 C++ 二分查找、two pointers
1031 查验身份证 C++ 字符串处理
1032 挖掘机技术哪家强 C++ 查找元素
1033 旧键盘打字 C++ 散列
1034 有理数四则运算 C++ 分数
1035 插入与归并 C++ 暂无
1036 跟奥巴马一起编程 C++ 图形输出
1037 在霍格沃茨找零钱 C++ 进制转换
1038 统计同成绩学生 C++ 散列
1039 到底买不买 C++ 散列
1040 有几个PAT C++ 动态规划
1041 考试座位号 C++ 查找元素
1042 字符统计 C++ 散列
1043 输出PATest C++ 散列
1044 火星数字 C++ 进制转换+字符串处理
1045 快速排序 C++ 动态规划
1046 划拳 C++ 简单模拟
1047 编程团体赛 C++ 散列
1048 数字加密 C++ 字符串处理
1049 数列的片段和 C++ 数学
1050 螺旋矩阵 C++ 中级模拟
1051 复数乘法 C++ 数学
1052 卖个萌 C++ 字符串处理
1053 住房空置率 C++ 简单模拟
1054 求平均值 C++ 字符串处理
1055 集体照 C++ 排序+中级模拟
1056 组合数的和 C++ 简单模拟
1057 数零壹 C++ 进制转换
1058 选择题 C++ 中级模拟+常用stl
1059 C语言竞赛 C++ 散列
1060 爱丁顿数 C++ 中级模拟
1061 判断题 C++ 简单模拟
1062 最简分数 C++ 分数
1063 计算谱半径 C++ 简单模拟
1064 朋友数 C++ 常用stl
1065 单身狗 C++ 散列+常用stl
1066 图像过滤 C++ 简单模拟
1067 试密码 C++ 字符串处理
1068 万绿丛中一点红 C++ 简单模拟
1069 微博转发抽奖 C++ 中级模拟
1070 结绳 C++ 贪心
1071 小赌怡情 C++ 简单模拟
1072 开学寄语 C++ 中级模拟+二分查找
1073 多选题常见计分法 C++ 中级模拟+常用stl
1074 宇宙无敌加法器 C++ 进制转换+字符串处理
1075 链表元素分类 C++ 链表
1076 Wifi密码 C++ 简单模拟
1077 互评成绩计算 C++ 简单模拟
1078 字符串压缩与解压 C++ 字符串处理
1079 延迟的回文数 C++ 大整数运算
1080 MOOC期终成绩 C++ 排序
1081 检查密码 C++ 字符串处理
1082 射击比赛 C++ 查找元素
1083 是否存在相等的差 C++ 常用stl
1084 外观数列 C++ 字符串处理
1085 PAT单位排行 C++ 排序
1086 就不告诉你 C++ 水题
1087 有多少不同的值 C++ 水题
1088 三人行 C++ 简单模拟
1089 狼人杀-简单版 C++ 简单模拟
1090 危险品装箱 C++ 常用stl
1091 N-自守数 C++ 水题
1092 最好吃的月饼 C++ 查找
1093 字符串A+B C++ 散列
1094 谷歌的招聘 C++ 素数
1095 解码PAT准考证 C++ 排序
————————————————
版权声明:本文为CSDN博主「日沉云起」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/richenyunqi/article/details/84981369

https://blog.csdn.net/qq_40946921/article/details/81320389

Italink

https://blog.csdn.net/weixin_42582136/article/details/100155268

[ME->CS]

字符串处理

1002 写出这个数 (20 分)

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:

每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。

输出格式:

在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1
1234567890987654321123456789

输出样例:

1
yi san wu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <cstdio>
#include <cmath>
int process(char a[])
{
int result=0;
for(int i=0;a[i]!='\0';++i)
{
result+=a[i]-'0';
}
return result;
}
int main()
{
char num[110];
char arti[10][6]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
scanf("%s",num);
int res=process(num);
int count=0;
int temp=res;
while(temp!=0)
{
temp/=10;
++count;
}
int pro;
do
{
pro=pow(10.0,count-1);
printf("%s",arti[res/pro]);
if(count>1)
printf(" ");
else
printf("\n");
res%=pro;
--count;
}while(count>0);
return 0;
}

emmmmm 就是先用字符数组存储,然后将每一位数加起来得到结果,最后处理的时候,可以利用整除法计算出数字的位数,然后再从高位到低位依次去整输出,(能用这种方法的原因是100位就算全是9加起来也就900103次方而已,不会超限)注意末尾没有空格哦,其他的就没啥啦~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>  (柳神代码)
#include <string>
using namespace std;
int main() {
string s;
cin >> s;
int sum = 0;
string str[10] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi",
"ba", "jiu"};
for (int i = 0; i < s.length(); i++)
sum += (s[i] - '0');
string num = to_string(sum);
for (int i = 0; i < num.length(); i++) {
if (i != 0) cout << " ";
cout << str[num[i] - '0'];
}
return 0;
}

分析:⽤用string接收输⼊入,string的每⼀一位数字累加到sum⾥里里⾯面,再将sum转化为string类型的num,对
num的每⼀一位输出对应中⽂文拼⾳音~

坚持原创技术分享,您的支持将鼓励我继续创作!