![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pta
hayhead
这个作者很懒,什么都没留下…
展开
-
7-37 整数分解为若干项之和 (20分)
7-37 整数分解为若干项之和(20 分)将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。输入格式:每个输入包含一个测试用例,即正整数N (0<N≤30)。输出格式:按递增顺序输出N的所有整数分解式子。递增顺序是指:对于两个分解序列N1=n1,n2,⋯N1=n1,n2,⋯序列之前输出。每个式子由小到大相加,式子间用分号隔开,且每输出4个式子后换行。输入样例:7输出样例:7=1+1+1+1+.转载 2020-11-27 16:49:37 · 825 阅读 · 0 评论 -
7-32 说反话-加强版
7-32 说反话-加强版 (20分)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例:Hello World Here I Come输出样例:Come I Here World Hello#in原创 2020-11-27 14:51:59 · 285 阅读 · 0 评论 -
7-14 求整数段和
给定两个整数A和B,输出从A到B的所有整数以及这些数的和。输入格式:输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。输出格式:首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。输入样例:-3 8输出样例:-3 -2 -1 0 12 3 4 5 67 8Sum = 30#include <stdio.h>i原创 2020-11-27 10:50:34 · 416 阅读 · 0 评论 -
7-1 厘米换算英尺英寸
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。输入样例:170输出样例:5 6#include <stdio.h>int main(int argc, char const *argv[])原创 2020-11-27 09:56:22 · 150 阅读 · 0 评论 -
7-2 然后是几点 (15分)
有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5 点 30 分表示为 530;0 点 30 分表示为 030。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。输入格式:输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及流逝的原创 2020-11-27 09:44:35 · 156 阅读 · 0 评论 -
7-26 单词长度
7-26 单词长度 (15分)你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it’s算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。输入格式:输入在一行中给出一行文本,以.结束提示:用scanf("%c",…);来读入一个字符,直到读到.为止。输出格式:在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。输入样例:It’s great to see you原创 2020-11-26 20:56:03 · 384 阅读 · 0 评论 -
7-5 两个蛋糕
7-5 两个蛋糕 (15分)今天是BoBo和CoCo的生日,他们俩都想买一个n层蛋糕。蛋糕每层大小都不一样,从上到下大小分别为1到n。他们住在同一条街上,从左到右连续有2n个糕点店,可以在那里购买蛋糕层。不幸的是,在每个糕点店只能购买一个特定尺寸的一层:在第i蛋糕店可以购买大小ai(1≤a{i}i≤n)的蛋糕层。由于不可能在蛋糕中间插入新的层,只能按照从最小到最大的顺序购买每个蛋糕层。也就是说,他们每个人都要先买1,然后是2,然后是3,依此类推至n。 最初,BoBo和CoCo位于第一个(最左边原创 2020-11-26 15:34:45 · 313 阅读 · 0 评论 -
7-1 交换最小值和最大值
本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。注意:题目保证最大和最小值都是唯一的。输入格式:输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。输出格式:在一行中顺序输出交换后的序列,每个整数后跟一个空格。输入样例:58 2 5 1 4输出样例:1 2 5 4 8#include<stdio.h>void swap(int a[],int max,int min){原创 2020-11-25 20:51:10 · 1714 阅读 · 0 评论 -
7-5 统计一行文本的单词个数
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let’s go to room 209.输出样例:5#include <stdio.h>#include <stdlib.h>/* run this program using the console pauser or add your own getch, syst原创 2020-11-25 13:05:15 · 1857 阅读 · 1 评论 -
7-2 找最长良序(递增)字符串
7-2 找最长良序字符串我们将“ABC”或“ACEG”等类似的字串称为良序字串(因为它们是按ASCII码排列的),而像“ACB”或“ACCD”或“AGCD”则不可称为良序字串。 编写程序,将键入的一串字符中的最长良序字串找出来,并输出其长度输入格式:有一串字符(长度≤255)。输出格式:仅一行,一个最长良序字串的长度。输入样例:23451357912468abc23456输出样例:8#include<stdio.h>int main(){ char s[300]原创 2020-11-25 12:39:31 · 1651 阅读 · 0 评论 -
7-5 大数加法
7-5 jmu-c-大数加法 (20分)输入2个大数,每个数的最高位数可达1000位,求2数的和。输入格式:保证输入数都是数字,不能有空格输出格式:输出2数相加的结果输入样例:9234543433678687682354023478729354242313343434323979878542919487294910345782输出样例:105688868660766755366459722082203888205思路:模拟手算加法#include<stdio.h>in原创 2020-11-25 10:29:05 · 1607 阅读 · 0 评论 -
7-1 判断回文字符串
7-1 判断回文字符串 (15分)输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes,否则输出No。输入样例1:level输出样例1:levelYes输入样例2:1 + 2 = 2 + 1 =输出样例2:1 + 2 = 2 + 1 =No双指针法#include<s原创 2020-11-25 08:37:40 · 36231 阅读 · 10 评论 -
L1-064 估值一亿的AI核心代码
L1-064 估值一亿的AI核心代码 (20分)AI.jpg以上图片来自新浪微博。本题要求你实现一个稍微更值钱一点的 AI 英文问答程序,规则是:无论用户说什么,首先把对方说的话在一行中原样打印出来;消除原文中多余空格:把相邻单词间的多个空格换成 1 个空格,- 把行首尾的空格全部删掉,把标点符号前面的空格删掉;把原文中所有大写英文字母变成小写,除了 I;把原文中所有独立的 can you、could you 对应地换成 I can、I could—— 这里“独立”是指被空格或标点符号分隔开原创 2020-11-24 19:22:22 · 217 阅读 · 0 评论 -
L1-009 N个数求和
L1-009 N个数求和 (20分)本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,原创 2020-11-23 20:58:15 · 122 阅读 · 0 评论 -
L1-050 倒数第N个字符串
给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, …, aaz, aba, abb, …, abz, …, zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。输入格式:输入在一行中给出两个正整数 L(2 ≤ L ≤ 6)和 N(≤105)。输出格式:在一行中输出对应序列倒数第 N原创 2020-11-23 09:24:19 · 2337 阅读 · 5 评论 -
L1-054 福到了 (15分)
L1-054 福到了 (15分)“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。输入格式:输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为 @ 或者为空格。输出格式:输出倒置的网格,如样例所示。但是,如果这个字正过来倒过原创 2020-11-22 20:01:30 · 284 阅读 · 0 评论 -
6-12 二叉搜索树的操作集
6-12 二叉搜索树的操作集 (30分)本题要求实现给定二叉搜索树的5种常用操作。函数接口定义: BinTree Insert( BinTree BST, ElementType X ); BinTree Delete( BinTree BST, ElementType X ); Position Find( BinTree BST, ElementType X ); Position FindMin( BinTree BST ); Position FindMax( BinTree BST原创 2020-11-21 16:21:40 · 823 阅读 · 0 评论 -
6-9 二叉树的遍历
#include <stdio.h>#include <stdlib.h>typedef char ElementType;typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};BinTree CreatBinTree(); /* 实现细节忽略 */void I原创 2020-11-19 21:29:35 · 179 阅读 · 0 评论 -
L1-046 整除光棍 (20分)
这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序原创 2020-11-16 20:03:56 · 83 阅读 · 0 评论 -
7-5 单词首字母大写 (15分)
本题目要求编写程序,输入一行字符,将每个单词的首字母改为大写后输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出已输入的字符,其中所有单词的首字母已改为大写。输入样例:How are you?输出样例:How Are You?#include <stdio.h>#include <stdlib.h>/* run this program using the console pa原创 2020-11-11 19:25:08 · 18348 阅读 · 16 评论 -
7-38 数列求和-加强版
给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。输入格式:输入在一行中给出不超过9的正整数a和n。输出格式:在一行中按照“s = 对应的和”的格式输出。输入样例:2 3输出样例:s = 246思路:本题很简单,如输入样例中的 2 3,用我们小学学的竖式相加法, 222 22 2那么,3 * 2,2 * 2 ,1 * 2 (n递减)原创 2020-11-11 19:15:49 · 623 阅读 · 0 评论 -
L1-025 正整数A+B
题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。输入格式:输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。输出格式:...原创 2020-04-06 21:58:58 · 534 阅读 · 0 评论 -
习题4.3 是否二叉搜索树 (25分)
本题考查的是二叉搜索树的概念及性质首先我们要先了解二叉搜索树的概念及性质: 二叉搜索树(Binary Search Tree),(又:二叉查找树,二叉排序树)它或者是一棵空树、或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它...原创 2020-04-06 13:36:42 · 340 阅读 · 0 评论