PTA基础题+大一习题
文章平均质量分 71
ccDLlyy
不忘初心,方得始终
展开
-
阶乘计算升级版
计算较大数的阶乘原理:利用数组存储每一位#include #include int main(){ int number;/*所求数*/ int dight[3000]={0}; int top=0;/*位数*/ scanf("%d",&number); int i,j; dight[0]=1; int last=0,now;原创 2016-07-29 21:15:49 · 716 阅读 · 0 评论 -
5-13 九宫格输入法 (15分)
5-13 九宫格输入法 (15分)假设有九宫格输入法键盘布局如下: [ 1,.?! ] [ 2ABC ] [ 3DEF ] [ 4GHI ] [ 5JKL ] [ 6MNO ] [ 7PQRS ] [ 8TUV ] [ 9WXYZ ] [ 0空 ]注意:中括号[ ]仅为了表示键盘的分隔,不是输入字符。每个中括号中,位于首位的数字字原创 2016-07-30 17:20:34 · 12380 阅读 · 6 评论 -
5-14 大炮打蚊子 (15分)
5-14 大炮打蚊子 (15分)现在,我们用大炮来打蚊子:蚊子分布在一个M\times NM×N格的二维平面上,每只蚊子占据一格。向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: OOXO O其中,X为炮弹落点中心,O为紧靠中心的四个有杀伤力的格子范围。若蚊子被炮弹命中(位于X格),一击毙命,若仅被杀伤(位于O格),则损失一半的生命力。也就是说,一次命中或原创 2016-07-30 17:24:02 · 7747 阅读 · 5 评论 -
5-24 藏尾诗 (20分)
5-24 藏尾诗 (20分)本题要求编写一个解密藏尾诗的程序。输入格式:输入为一首中文藏尾诗,一共四句。每句一行,但句子不一定是等长的,最短一个汉字,最长九个汉字。注意:一个汉字占两个字节。输出格式:取出每句的最后一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。输入样例:悠悠田园风然而心难平兰花轻涌浪兰香愈幽静输出原创 2016-07-30 17:36:05 · 14143 阅读 · 3 评论 -
5-27 素数对猜想 (20分)
5-27 素数对猜想 (20分)让我们定义d_ndn为:d_n = p_{n+1}-p_ndn=pn+1−pn,其中p_ipi是第ii个素数。显然有d_1 = 1d1=1,且对于n>1n>1有d_ndn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(105),请计算不超过N的满足猜原创 2016-07-30 17:41:28 · 1786 阅读 · 0 评论 -
5-29 求整数序列中出现次数最多的数 (15分)
5-29 求整数序列中出现次数最多的数 (15分)本题要求统计一个整型序列中出现次数最多的整数及其出现次数。输入格式:输入在一行中给出序列中整数个数N(0N\le≤1000),以及N个整数。数字间以空格分隔。输出格式:在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。输入样例:10 3 2 -1 5 3 4原创 2016-07-30 17:44:52 · 11869 阅读 · 1 评论 -
5-36 求n以内最大的k个素数以及它们的和 (20分)
5-36 求n以内最大的k个素数以及它们的和 (20分)本题要求计算并输出不超过n的最大的k个素数以及它们的和。输入格式:输入在一行中给出n(10\le≤n\le≤10000)和k(1\le≤k\le≤10)的值。输出格式:在一行中按下列格式输出:素数1+素数2+…+素数k=总和值其中素数按递减顺序输出。若n以内不够k个素数,则按实际个数输原创 2016-07-30 17:59:20 · 16431 阅读 · 2 评论 -
5-41 简单计算器 (20分)
5-41 简单计算器 (20分)模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出格式:在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”原创 2016-07-30 18:04:01 · 19570 阅读 · 7 评论 -
5-31 切分表达式——写个tokenizer吧 (20分)
5-31 切分表达式——写个tokenizer吧 (20分)[先说点出题背景]这个题是为低年级同学、学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂。如果是高年级、学过了正则表达式(Regular Expression)的同学或者学过了Java等OO语言的同学做这个题,应当发现这题比较简单吧。哦,对了,什么是tokenizer?请自行查询解决。反正原创 2016-07-30 17:54:01 · 5007 阅读 · 0 评论 -
4-5 报数 (20分)
4-5 报数 (20分)报数游戏是这样的:有nn个人围成一圈,按顺序从1到nn编好号。从第一个人开始报数,报到mm(n)的人退出圈子;下一个人从1开始报数,报到mm的人退出圈子。如此下去,直到留下最后一个人。本题要求编写函数,给出每个人的退出顺序编号。函数接口定义:void CountOff( int n, int m, int out[] );其中n原创 2016-07-30 17:02:10 · 3229 阅读 · 5 评论 -
5-23 IP地址转换 (20分) (位操作)
5-23 IP地址转换 (20分)一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。输入格式:输入在一行中给出32位二进制字符串。输出格式:在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。输入样例:11001100原创 2016-07-30 17:29:06 · 3741 阅读 · 0 评论 -
PTA 5-10 树的同构
5-10 树的同构 (25分)给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2现给定两棵树,请你判断它们是否是同构的。输入格式:原创 2016-11-09 15:58:59 · 1033 阅读 · 0 评论 -
抓老鼠啊~亏了还是赚了? (20分)
5-9 抓老鼠啊~亏了还是赚了? (20分)某地老鼠成灾,现悬赏抓老鼠,每抓到一只奖励10元,于是开始跟老鼠斗智斗勇:每天在墙角可选择以下三个操作:放置一个带有一块奶酪的捕鼠夹(T),或者放置一块奶酪(C),或者什么也不放(X)。捕鼠夹可重复利用,不计成本,奶酪每块3元。聪明的老鼠呢?它们每天可能会派出一只老鼠到墙角,看看墙角有啥:若什么也没有(X),老鼠们就不高兴原创 2016-07-30 17:04:12 · 5968 阅读 · 0 评论 -
5-38 数列求和-加强版 (20分)
5-38 数列求和-加强版 (20分)给定某数字AA(1\le A\le 91≤A≤9)以及非负整数NN(0\le N\le 1000000≤N≤100000),求数列之和S = A + AA + AAA + \cdots + AA\cdots AS=A+AA+AAA+⋯+AA⋯A(NN个AA)。例如A=1A=1, N=3N=3时,S = 1 + 11 + 11原创 2016-07-30 16:57:52 · 1120 阅读 · 0 评论 -
5-37 整数分解为若干项之和 (20分)
5-37 整数分解为若干项之和 (20分)将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。输入格式:每个输入包含一个测试用例,即正整数N (0N\le≤30)。输出格式:按递增顺序输出N的所有整数分解式子。递增顺序是指:对于两个分解序列N_1=N1={n_1转载 2016-07-30 16:51:24 · 4909 阅读 · 0 评论 -
5-18 二分法求多项式单根 (20分)
5-18 二分法求多项式单根 (20分)二分法求函数根的原理为:如果连续函数f(x)f(x)在区间[a, b][a,b]的两个端点取值异号,即f(a)f(b)f(a)f(b)0,则它在这个区间内至少存在1个根rr,即f(r)=0f(r)=0。二分法的步骤为:检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2(a+b)/2;否则如果f(a)f(原创 2016-07-29 22:40:50 · 717 阅读 · 0 评论 -
5-19 支票面额 (15分)
5-19 支票面额 (15分)一个采购员去银行兑换一张yy元ff分的支票,结果出纳员错给了ff元yy分。采购员用去了nn分之后才发觉有错,于是清点了余额尚有2y2y元2f2f分,问该支票面额是多少?输入格式:输入在一行中给出小于100的正整数nn。输出格式:在一行中按格式y.f输出该支票的原始面额。如果无解,则输出No Solution。原创 2016-07-29 22:44:04 · 957 阅读 · 0 评论 -
5-22 龟兔赛跑 (20分)
5-22 龟兔赛跑 (20分)乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁原创 2016-07-30 08:03:36 · 854 阅读 · 0 评论 -
5-23 币值转换 (20分)
5-23 币值转换 (20分)输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。输入格式:输入在一行中给出一个不超过原创 2016-07-30 08:05:26 · 2013 阅读 · 1 评论 -
5-26 单词长度 (15分)
5-26 单词长度 (15分)你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。输入格式:输入在一行中给出一行文本,以.结束提示:用scanf("%c",...);来读入一个字符,直到读到.为止。原创 2016-07-30 09:02:32 · 16458 阅读 · 13 评论 -
5-28 猴子选大王 (20分)
5-28 猴子选大王 (20分)一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式:输入在一行中给一个正整数N(\le≤1000)。输出格原创 2016-07-30 09:12:15 · 1762 阅读 · 1 评论 -
5-29 删除字符串中的子串 (20分)
5-29 删除字符串中的子串 (20分)输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。输入格式:输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。输出格式:在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。输入样例:Tomcat is a male原创 2016-07-30 09:33:28 · 1036 阅读 · 1 评论 -
5-31 字符串循环左移 (20分)
5-31 字符串循环左移 (20分)输入一个字符串和一个非负整数NN,要求将字符串循环左移NN次。输入格式:输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数NN。输出格式:在一行中输出循环左移NN次后的字符串。输入样例:Hello World!2输出样例:llo World!He//方法较原创 2016-07-30 09:37:44 · 927 阅读 · 0 评论 -
5-32 说反话-加强版 (20分)
5-32 说反话-加强版 (20分)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间原创 2016-07-30 09:46:25 · 3096 阅读 · 0 评论 -
5-35 有理数均值 (20分)
5-35 有理数均值 (20分)本题要求编写程序,计算N个有理数的平均值。输入格式:输入第一行给出正整数N(\le≤100);第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的有理数,其中分子和分母全是整形范围内的整数;如果是负数,则负号一定出现在最前面。输出格式:在一行中按照a/b的格式输出N个有理数的平均值。注意必须是该有理数的最简分转载 2016-07-30 09:55:26 · 1411 阅读 · 0 评论 -
5-36 复数四则运算 (15分)
5-36 复数四则运算 (15分)本题要求编写程序,计算2个复数的和、差、积、商。输入格式:输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部。题目保证C2不为0。输出格式:分别在4行中按照(a1+b1i) 运算符 (a2+b2i) = 结果的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后原创 2016-07-30 16:02:39 · 6205 阅读 · 0 评论 -
5-30 找鞍点 (20分)
5-30 找鞍点 (20分)一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的nn阶方阵的鞍点。输入格式:输入第一行给出一个正整数nn(1\le n\le 61≤n≤6)。随后nn行,每行给出nn个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点原创 2016-07-30 17:47:09 · 6129 阅读 · 5 评论