
Part-Time Assistant
主要是拼题的一些重要题目总结
普通网友
这个作者很懒,什么都没留下…
展开
-
DFS深搜解决迷宫问题
/* 读入一个m行n列的数组,其中1表示空地,2表示障碍物;//从起始点走到终点距离最短是多少,要求给出起始点和终点坐标。 5 41 1 2 11 1 1 11 1 2 11 2 1 11 1 1 21 1 4 3*/// (x-1,y)// (x,y-1) (x,y) (x,y+1)// (x+1,y)#include<iostream>using namespace std;int m,n,p,q,mins=999999999..原创 2022-04-02 14:11:09 · 402 阅读 · 0 评论 -
6-3 求左子串* (20 分)
请编写函数,求左子串。函数原型char* StrLeft(char *dst, const char *src, int len);说明:函数取源串 src 的前 len 个字符,保存到目的串 dst 中,函数值为 dst。若 len 值不正确,则自动修正。裁判程序#include <stdio.h>char* StrLeft(char *dst, const char *src, int len);int main(){ char a[1024], b[1024];原创 2022-03-28 09:59:09 · 1037 阅读 · 0 评论 -
6-1 分类统计字符个数 (15 分)
本题要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。函数接口定义:void StringCount( char s[] );其中 char s[] 是用户传入的字符串。函数StringCount须在一行内按照letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数的格式输出。裁判测试程序样例:#include <stdio.h>#define MAXS 15void St原创 2022-03-28 08:59:14 · 170 阅读 · 0 评论 -
7-33 统计字符个数 (10 分)
输入若干的字符串,每个字符串中只包含数字字符和大小写英文字母,统计字符串中有出现的不同字符的出现次数。输入格式:测试数据有多组,处理到文件尾。每组测试输入一个字符串(不超过80个字符)。输出格式:对于每组测试,按字符串中有出现的字符的ASCII码升序逐行输出不同的字符及其个数(两个数据之间留一个空格),每两组测试数据之间留一空行,输出格式参照输出样例。输入样例:12123A1c1B输出样例:1 22 23 11 2A 1B 1c 1#include <i原创 2022-03-26 22:42:38 · 1621 阅读 · 2 评论 -
N皇后问题
N皇后问题N 皇后问题源自国际象棋,所有棋子中权力最大的称为皇后,它可以直着走、横着走、斜着走(沿 45 度角),可以攻击移动途中遇到的任何棋子。N 皇后问题的具体内容是:如何将 N 个皇后摆放在 NN 的棋盘中,使它们无法相互攻击。举个简单的例子,将 4 个皇后摆放在 44 的棋盘中,下图给出了一种摆放方式,各个皇后无论是直着走、横着走还是斜着走,都无法相互攻击。1Q 表示放置皇后的位置。N 皇后问题可以用回溯算法解决,接下来就为您讲解具体的解决思路。回溯算法解决N皇后问题要想使 N 个皇后不相原创 2022-03-26 10:27:16 · 490 阅读 · 0 评论 -
7-1 统计学生年龄异常的人数。 (10 分)
定义Student类(1)成员变量有:姓名,年龄。(2)对成员变量进行封装。(3)定义getXXXX,setXXXX方法,其中对年龄的限定条件是:年龄大于0。定义主类,包含主方法实现输入5个学生,输出年龄不符合要求 的学生人数和姓名。如果年龄全部正确,输出“right”,如果全部错误,输出"all wrong"。输入格式:5行,每行1个学生信息,包括姓名和年龄输出格式:多行,第1行是不符合要求的人数 其余各行是不符合要求的学生的姓名 如果年龄全部正确,输出“right”,如果全部错原创 2022-03-25 12:28:12 · 403 阅读 · 0 评论 -
7-10 组合数 (10 分)
题目:输入两个正整数n、m,要求输出组合数C(n,m)。 例如,当n=5、m=3时,组合数C(5,3)=(5×4×3)/(3×2×1)=10。 组合数可用以下公式计算:输入格式:测试数据有多组,处理到文件尾。每组测试输入两个整数n,m(0 < m ≤ n ≤ 20)。输出格式:对于每组测试,输出组合数。输入样例:5 320 12输出样例:10125970思路:主要是对组合数的理解,比如C(4,2)=(4×3)/(2×1)=6而C(3,1)+C(3,2)=6;即C(原创 2022-03-16 08:17:31 · 754 阅读 · 0 评论 -
7-13 特殊排序 (10 分)
题目:输入一个整数n和n个各不相等的整数,将这些整数从小到大进行排序,要求奇数在前,偶数在后。输入格式:首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试先输入一个整数n(1<n<100),再输入n个整数。输出格式:对于每组测试,在一行上输出根据要求排序后的结果,数据之间留一个空格。输入样例:35 1 2 3 4 53 12 4 56 2 4 6 8 0 1输出样例:1 3 5 2 45 4 121 0 2 4 6 8#include原创 2022-03-14 22:18:17 · 763 阅读 · 0 评论 -
7-12 验证哥德巴赫猜想 (10 分)
题目:★★★★★哥德巴赫猜想之一是指一个偶数(2除外)可以拆分为两个素数之和。请验证这个猜想。 因为同一个偶数可能可以拆分为不同的素数对之和,这里要求结果素数对彼此最接近。输入格式:首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入1个偶数n(6≤n≤10000)。输出格式:对于每组测试,输出两个彼此最接近的素数a、b(a≤b),两个素数之间留1个空格。输入样例:23040输出样例:13 1717 23#include <stdio.h&g原创 2022-03-14 21:30:43 · 1975 阅读 · 0 评论 -
C语言简单验证哥德巴赫猜想
题目:哥德巴赫猜想中写到,一个充分大的偶数(大于等于4),它可以分解为两个素数(质数)的和。任务是将输入的偶数n ,分解为两个素数的所有可能打印出来。例如:8 = 3 + 5.20 = 3 + 17 20 = 7 + 13.42 = 5 + 37 40= 11 + 31 40= 13 + 29 40= 19 + 23.先分解成c=a+b;在依次对a和b进行判断是否是质数,如果同时是质数,就打印。一个数是否是质数,就是一个数只能被1和它自身整除,没有其他因子。就需要尝试它能否被从2到它的原创 2022-03-14 21:02:26 · 640 阅读 · 0 评论 -
6-1 使用函数输出水仙花数 (20 分)
题目:水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1 ^3+5 ^3+3 ^3 。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( int m, int n );函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。函数PrintN则打印开区间(m原创 2022-03-13 19:20:42 · 1180 阅读 · 0 评论 -
7-23 部分逆置 (10 分)
题目:⭐⭐⭐输入n个整数,把第i到j之间的全部元素进行逆置(1 ≤ i < j ≤ n),输出逆置后的n个数。输入格式:首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。 每组测试数据首先输入n,i,j(含义如上描述),然后再输入n个整数。输出格式:对于每组测试数据,输出逆置后的n个整数。每两个数据之间留1个空格。输入样例:27 2 6 11 22 33 44 55 66 775 1 5 11 22 33 44 55输出样例:11 66 55 44 33原创 2022-03-13 18:15:19 · 5226 阅读 · 3 评论 -
7-21 又见A+B(3) (10 分)
题目:求两个整数之和。输入格式:测试数据有多组。每组测试输入两个整数a、b,当a、b同时为0时,表示输入结束。输出格式:对于每组测试,输出一行,包含一个整数,表示a、b之和。输入样例:1 23 45 60 0输出样例:3711#include<iostream>using namespace std;int main(){ int a,b; while(1){ cin>>a>>b;原创 2022-03-13 16:57:52 · 1477 阅读 · 0 评论 -
7-20 又见A+B(1) (10 分)
题目:求两个整数之和。输入格式:首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入两个整数a、b。输出格式:对于每组测试,输出一行,包含一个整数,表示a、b之和。输入样例:31 23 45 6输出样例:3711#include<iostream>using namespace std;int main(){ int a,b,n; cin>>n; while(n--){ ci原创 2022-03-13 16:56:32 · 1032 阅读 · 0 评论 -
7-2 又见A+B(2) (10 分)
题目:求两个整数之和。输入格式:测试数据有多组,处理到文件尾。每组测试输入两个整数a、b。输出格式:对于每组测试,输出一行,包含一个整数,表示a、b之和。输入样例:1 23 45 6输出样例:3711#include<iostream>using namespace std;int main(){ int a,b; while(cin>>a>>b){ cout<<a+b<<原创 2022-03-13 16:45:00 · 832 阅读 · 0 评论 -
7-19 查找字符串 (10 分)
题目:在一行上输入两个字符串s和英文字符串t,要求在s中查找t。其中,字符串s,t均不包含空格,且长度均小于80。输入格式:首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入2个长度不超过80的字符串s和t(s和t都不包含空格)。输出格式:对于每组测试数据,若在s中找到t,则输出“Found!”,否则输出“not Found!”。引号不必输出。输入样例:2dictionary lionfactory act输出样例:not Found!Found!原创 2022-03-13 16:37:23 · 1384 阅读 · 0 评论 -
7-18 sdut-判断两个字符串是否为变位词 (10 分)超简单啊
题目:如果一个字符串是另一个字符串的重新排列组合,那么这两个字符串互为变位词。比如,“heart” 与 “earth” 互为变位词,“Mary” 与 “arMy” 也互为变位词。“Hello world"与“worldHello"不是变位词。输入格式:第一行输入第一个字符串;第二行输入第二个字符串。输出格式:若是变位词,输出:yes;否则,输出:no。输入样例1:MaryarMy输出样例1:yes输入样例2:hello worldworld hello输出样例2原创 2022-03-13 13:45:40 · 814 阅读 · 0 评论 -
7-23 打印沙漏 (10 分)
题目:当n=5时,沙漏图形如输出样例所示。请观察并明确沙漏图形的规律。要求输入一个整数n,输出满足规律的沙漏图形。输入格式:测试数据有多组,处理到文件尾。每组测试输入一个整数n(1<n<20)。输出格式:对于每组测试,输出满足规律的沙漏图形。输入样例:5输出样例:********* ******* ***** *** * *** ***** ****************答案:#include<iostream>原创 2022-03-13 13:34:26 · 1216 阅读 · 0 评论 -
7-24 病毒变种 (10 分)解法超简单
题目: 病毒DNA可以表示成由一些字母组成的字符串序列,且病毒的DNA序列是环状的。例如,假设病毒的DNA序列为baa,则该病毒的DNA序列有三种变种:baa,aab,aba。试编写一程序,对给定的病毒DNA序列,输出该病毒所有可能的DNA序列(假设变种不会重复)。输入格式:输入第一行中给出1个整数i(1≤i≤11),表示待检测的病毒DNA。输入i行串序列,每行一个字符串,代表病毒的DNA序列,病毒的DNA序列长度不超过500。输出格式:依次逐行输出每个病毒DNA所有变种,各变种之间用空格分原创 2022-03-13 13:05:50 · 1004 阅读 · 0 评论 -
7-12 最长对称子串 (25 分)
题目:对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&TAP symmetric?输出样例:11我的答案#include<stdio.h>#include<string.h>int mai原创 2022-03-12 18:43:11 · 497 阅读 · 0 评论 -
7-19 单词首字母大写 (10 分)
题目: 输入一个英文句子,要求将每个单词的首字母改成大写字母。输入格式:测试数据有多组,处理到文件尾。每组测试输入一行,包含一个长度不超过100的英文句子(仅包含大小写英文字母和空格),单词之间以一个空格间隔。输出格式: 对于每组测试,输出按照要求改写后的英文句子。输入样例:I like acmi want to get accepted输出样例:I Like AcmI Want To Get Accepted思路:刚开始吧,我是用的string字符串,后来感觉操作每一个字符有.原创 2022-03-12 17:38:46 · 1001 阅读 · 0 评论 -
7-6 打妖怪 (10 分)
话说孙大圣保唐僧西天取经,路上遇到一妖怪。妖怪共有 v 滴血,大圣每打一棒就能使妖怪失去 h 滴血,妖怪一旦没血就会立即死去。大圣打了 n棒将妖怪打死。请编写程序,输入 v 和 h,输出 n。输入格式v 和 h输出格式n注:题目保证 a、b 和 n 的值都在 int 类型的表示范围内。输入样例2510 1000输出样例3答案自己写的一个超时代码。#include<iostream>using namespace std;int main(){//9f.原创 2022-03-12 11:06:24 · 1370 阅读 · 2 评论 -
十进制转二进制(带有程序实例照片)
转化思路:“除2求余,逆序排序”,既就是用十进制数除以2,可以得到一个商和余数;将余数保存起来,用商再去除以二,再得到一个商和余数,反复进行,直到商小于1时结束;然后将之前所得的余数逆序输出,得到的就是该十进制数的二进制写法。...原创 2021-05-07 12:36:49 · 1570 阅读 · 0 评论 -
获取一字符串,求各个字母出现的次数
获取一字符串,求各个字母出现的次数public static void main(String[] args) { // 定义一个字符串(可以改进为键盘录入) Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串:"); String line = sc.nextLine(); // 定义一个TreeMap集合 TreeMap&l原创 2021-09-25 14:54:17 · 346 阅读 · 0 评论 -
PTA说反话20分
#include <stdio.h>#include<string.h>int main(){char s[5001];char ss[5001][5001];gets(s);int len=strlen(s);int i,j,k,n;j=0,k=0;for(i=0;i<len;i++){if((strcmp(s[i],’ '))==0){k++;continue;}else{ss[k][j++]=s[i]; } }put原创 2021-11-22 23:06:49 · 337 阅读 · 0 评论 -
7-4 查验身份证 (15分)
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。输入格式:输入第一行给出正整数N(≤100)是输入的身原创 2021-11-10 10:18:34 · 184 阅读 · 0 评论 -
7-32 说反话-加强版 (20 分)
7-32 说反话-加强版 (20 分)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例:Hello World Here I Come结尾无空行输出样例:Come I Here World He原创 2021-11-23 22:59:26 · 247 阅读 · 0 评论 -
PTA-单词长度
7-40 单词长度你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it’s算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。输入格式:输入在一行中给出一行文本,以.结束提示:用scanf("%c",…);来读入一个字符,直到读到.为止。输出格式:在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。输入样例:It’s great to see you here.原创 2021-10-27 16:21:10 · 326 阅读 · 0 评论 -
7-23 币值转换 (20 分)
题目大意:略。解题思路:一个数字的情况 + 是0的情况(连续0只取一个0的情况 + 万位为0的情况(一亿的情况 + 非一亿的情况))+ 普遍不是0的情况。附加题目:点击打开链接(10亿版)AC 代码...原创 2021-11-24 18:31:17 · 222 阅读 · 0 评论 -
7-40单词长度
7-40 单词长度你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it’s算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。输入格式:输入在一行中给出一行文本,以.结束提示:用scanf("%c",…);来读入一个字符,直到读到.为止。输出格式:在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。输入样例:It’s great to see you here.结尾原创 2021-11-09 22:46:21 · 117 阅读 · 0 评论 -
PTA题集
*** L1-020 帅到没朋友 (20 分)***当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤10000),为待查询的人数;随后一行中列出M...原创 2021-09-14 22:33:08 · 667 阅读 · 0 评论