![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PATB
Summer8918
这个作者很懒,什么都没留下…
展开
-
PATB1016:部分A+B
include”stdafx.h”long long fuc(long long a, int da) { long long ans=0; while (a != 0) { if (a % 10 == da) { ans = ans * 10 + da; } a /= 10; } ...原创 2018-08-10 18:22:13 · 180 阅读 · 0 评论 -
PATB 1037 在霍格沃茨找零钱
思路分析: 将Galleon.Sickle.Knut变为以Knut为单位,比较大小,确定符号,将两输入之差转换为Galleon.Sickle.Knut格式输出#include"stdio.h"int func1(int *a) { int ans = 0; ans = a[2] + (a[1] + a[0] * 17) * 29; return ans;}i...原创 2018-08-20 21:11:47 · 122 阅读 · 0 评论 -
PATB 1024 科学计数法(20 分)/PATA 1073 Scientific Notation(20 分)
思路分析: 指数为负和正分两种情况讨论;输入格式受限,可在scanf()函数中按固定格式输入; 注意:指数为正时,指数exp小于系统有效位个数的情况;段错误出现的原因:输入字符串数组设置需大于“数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。”#include"stdio.h"#include<string.h>const int maxn = ...原创 2018-08-29 09:56:23 · 215 阅读 · 0 评论 -
PATB 1048 数字加密(20 分)
思路分析: 1、把字符串转换为int型数组(num[0]存储个位,逆向存储),构造一个转换函数,依次调用 2、将数组内的数字按个位为第一位的顺利按规定奇偶规则处理,得到字符串 3、输出 注意:len1(A字符串长度)大于len2(B字符串长度)时自动补零; 个位为第一位#include"stdio.h"#include<string.h>const int maxn ...原创 2018-08-29 16:06:37 · 156 阅读 · 0 评论 -
PATB 1006 换个格式输出整数 (15
思路分析:依次计算百位、十位、各位的值,按照要求输出#include"stdio.h"#include<stdlib.h>int main(){ int n, b, s, g; scanf("%d", &n); b = n / 100; s = (n / 10) % 10; g = n % 10; while (b ...原创 2018-08-25 16:43:31 · 102 阅读 · 0 评论 -
1021 个位数统计
#include"stdio.h"#include<stdlib.h>#include<string.h>int main(){ char str[1005]; int cnt[12] = { 0 }; scanf("%s", str); for (int i = 0; i < strlen(str); i++) { ...原创 2018-08-25 16:56:37 · 448 阅读 · 0 评论 -
PATB 1031 查验身份证
#include"stdio.h"#include<stdlib.h>#include<string.h>int main(){ char str[20], zm[15] = {"10X98765432"}; bool flag = true; int n,sum = 0, num[20] = { 7,9,10,5,8,4,2,1,6,3,7...原创 2018-08-25 17:29:03 · 284 阅读 · 0 评论 -
1015 德才论(25 分)
思路分析: 将考生属于第几类存储在考生信息中,排名时第i类在第j类之前(i&amp;gt;j); 注意:“但是德分不低于才分的考生属于“才德兼亡”但尚有“德胜才”者”#include&quot;stdio.h&quot;#include&quot;vector&quot;#include&amp;lt;algorithm&amp;gt;using namespace std;str原创 2018-09-01 16:51:41 · 177 阅读 · 0 评论 -
PATB 1031 查验身份证
思路分析: 关键理解题意,身份证前17位加权求和,然后对11求模(%11),根据模值取校验值,与身份证第18位校验值相等则身份证信息有效。否则无效#include"stdio.h"#include<stdlib.h>#include<string.h>int main(){ char str[20], zm[15] = {"10X98765432"};...原创 2018-08-25 19:38:24 · 902 阅读 · 0 评论 -
PATB 1009 说反话
思路分析:注意含空格的字符串的输入,还有判断是否等于空格#include"stdio.h"#include<stdlib.h>#include<string.h>int main(){ char str[85], str2[85]; int cnt, n = 0; scanf("%[^\n]]", str); //或cin.ge...原创 2018-08-25 20:29:30 · 194 阅读 · 0 评论 -
1002 写出这个数(20 分)
#include &lt;iostream&gt;#include &lt;string&gt;using namespace std;int main() { string s; cin &gt;&gt; s; int sum = 0; string str[10] = {"ling", "yi",转载 2018-08-30 09:32:08 · 132 阅读 · 0 评论 -
PATB 1022 D进制的A+B
思路分析: 题目较简单 注意:输出时数组反向#include"stdio.h"int main(){ int a, b, d,num[65],cnt=0; scanf("%d %d %d", &a, &b, &d); a += b; while (a > 0) { num[cnt++] = a % d; ...原创 2018-08-20 20:04:22 · 170 阅读 · 0 评论 -
PATB 1027:打印沙漏
思路分析: 输入N=2*(3+5+7+……+2*x-1)+1,求出x*x=(N+1)/2;按照格式输出 注意:最后一行要打印出剩下的符号数(为0也要打印),感觉有点坑#include"stdio.h"#include<math.h>int main(){ int n, x = 0, ans,cnt; char s; scanf("%d %c", &...原创 2018-08-20 16:49:35 · 124 阅读 · 0 评论 -
PATB 1036:跟奥巴马一起学编程
思路分析:思路较简单 注意:四舍五入的处理#include"stdio.h"int main(){ int n, x; char c; scanf("%d %c", &n,&c); if (n % 2 == 0) x = n / 2;//四舍五入处理 else x = (n + 1) / 2; for (int i = 0;...原创 2018-08-20 15:36:32 · 163 阅读 · 0 评论 -
PATB1011:A+B和C
#include "stdio.h"int main(){ int t; scanf("%d", &t); for (int i = 1; i <= t; i++) { long long a, b, c; scanf("%lld%lld%lld", &a, &b, &c); ...原创 2018-08-10 18:26:27 · 157 阅读 · 0 评论 -
PATB:1032 挖掘机技术哪家强
#include"stdio.h"const int maxn = 100010;int main(){ int num[maxn] = { 0 }; int n,id, score; scanf("%d", &n); for (int i = 1; i <= n; i++) { scanf("%d%d", &id...原创 2018-08-10 18:31:30 · 215 阅读 · 0 评论 -
PATB:1026程序运行时间
注意输出格式:在一行中输出被测函数运行的时间。运行时间必须按照“hh:mm:ss”(即2位的“时:分:秒”)格式输出;不足1秒的时间四舍五入到秒。#include"stdio.h"int main(){ long long c1, c2; int time; scanf("%lld %lld", &c1, &c2); if ((c2 - ...原创 2018-08-10 18:55:36 · 178 阅读 · 0 评论 -
PATB:1048划拳
#include"stdio.h"int main(){ int n, cnt1 = 0, cnt2 = 0; scanf("%d", &n); for (int i = 0; i < n; i++) { int a1, a2, b1, b2; //a1为甲喊,a2甲划,b1乙喊,b2乙划 scanf("%d...原创 2018-08-10 19:09:58 · 205 阅读 · 0 评论 -
PATB:1012数字分类
#include"stdio.h"#include<math.h>int main(){ int ans[10] = { 0 }, n, cnt[10] = { 0 }; scanf("%d", &n); for (int i = 0; i < n; i++) { int temp; scanf...原创 2018-08-11 15:14:44 · 237 阅读 · 0 评论 -
PATB 1018:锤子剪刀布
1018 锤子剪刀布 (20)(20 分) 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 输入格式:输入第1行给出正整数N(<=10^5^),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布...原创 2018-08-15 18:53:04 · 149 阅读 · 0 评论 -
PATB 1041:考试座位号
每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。 输入格式: 输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一...原创 2018-08-19 17:08:00 · 193 阅读 · 0 评论 -
PATB 1004:成绩排名
读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含1个测试用例,格式为\第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生的姓名 学号 成绩 … … … 第n+1行:第n个学生的姓名 学号 成绩 其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试...原创 2018-08-19 18:12:45 · 90 阅读 · 0 评论 -
PATB 1028:人口普查
某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。输入格式: 输入在第一行给出正整数 N,取值在(0,10 5 ];随后 N 行,每行给出 ...原创 2018-08-19 19:01:17 · 681 阅读 · 0 评论 -
PATB 1014 福尔摩斯的约会(20 分)/PAT A1061 Dating
题目分析: 1、扫描前两个字符串,寻找第一对相同位置的大写字母A-G; 2、在1位置的基础上,往后寻找第一对相同位置的0-9或A-N的字符,分别代表0-9与10-23; 3、扫描后两个字符串,寻找第一对相同位置的A-Z,或a-z字母,获取其位置 注意:break的位置#include&quot;stdio.h&quot;#include&amp;lt;string.h&amp;gt;int main(){ ...原创 2018-08-27 16:46:37 · 151 阅读 · 0 评论 -
PATB 1090 危险品装箱 (25 分)
思路分析: 空间换时间,用一个bool型table存储编号是否在不相容物品中出现过,出现过记为true; 输入一组待判定的编号后,依次查询该编号是否有不相容物品,有不相容物品则判断改组有没有与这个物品不相容的物品;没有则继续查询不相容物品表中有没有其他的不相容物品; 注意: 1、避免超时; 2、一个物品可能有多个不相容物品#include"stdio.h"#include <...原创 2018-09-16 10:41:35 · 1068 阅读 · 0 评论