![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PTA
文章平均质量分 60
程序设计类实验辅助教学平台
Utozyz
这个作者很懒,什么都没留下…
展开
-
L1-020 帅到没朋友
这里写自定义目录标题1.题目2.分析3.代码第一次:未去除重复ID第二次:重新检测Handsome,去除重复ID1.题目2.分析依次将朋友圈的ID存入,之后查找即可3.代码第一次:未去除重复ID#include <stdio.h>int main(){ int N,M; int i,j=0,Serial_Number=0,Count=0; int FriendCircle_Num[105],FriendCircle_ID[105],Search_ID[10原创 2022-03-26 14:44:14 · 193 阅读 · 0 评论 -
L1-011 A-B
L1-011 A-B1.题目2.分析3.代码1.存入数组,依次遍历4.总结5.更新日志1.题目本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过10 4,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It’s a fu原创 2022-03-25 13:46:58 · 118 阅读 · 0 评论 -
7-31 字符串循环左移
1.题目输入一个字符串和一个非负整数N,要求将字符串循环左移N次。输入格式:输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。输出格式:在一行中输出循环左移N次后的字符串。输入样例:Hello World!2输出样例:llo World!He2.分析可以分开为两部分 一部分是左移后到结尾,另一部分是开头到左移后的头3.代码第一次尝试:数组边界设置错误#include <stdio.h>#include <原创 2022-03-18 15:55:13 · 525 阅读 · 0 评论 -
7-30 字符串的冒泡排序
7-30 字符串的冒泡排序1.题目2.分析3.代码第一次尝试:边界问题(数组开小了)正确解法:✔优化:用gets(),数组解决4.总结5.更新日志1.题目我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列。输入格式:输入在第1行中给出N和K(1≤K<N≤100),此后N行,每行包含一个长度不超过10的、仅由小写英文字母组成的非空字符串。输出格式:输出冒泡排序法扫描完第K遍后的中间结果序列原创 2022-03-18 14:45:50 · 701 阅读 · 0 评论 -
7-29 删除字符串中的子串
这里写自定义目录标题1.题目2.分析3.代码第一次尝试:while循环条件设置不当,S1的更新不恰当4.总结5.更新日志1.题目2.分析3.代码第一次尝试:while循环条件设置不当,S1的更新不恰当#include <stdio.h>int main(){ char S1[80],S2[80]; int Len_1=-1,Len_2=-1,i,j,count=0,flag=0; do{ //输入S1的数据原创 2022-03-17 14:48:06 · 2354 阅读 · 0 评论 -
7-33 有理数加法
7-33 有理数加法1.题目2.分析3.代码4.更新日志1.题目本题要求编写程序,计算两个有理数的和。输入格式:输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。输出格式:在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。输入样例1:1/3 1/6输出样例1:1/2输入样例2:4/3 2/3输出样例2:22.分析关键在于通分、消除分子分母的最原创 2022-03-16 13:53:37 · 194 阅读 · 0 评论 -
7-23 币值转换 (未解决,请勿点)
这里写自定义目录标题1.题目2.分析3.代码第一次尝试(❌):未考虑全面 0 的问题尝试2:依旧未解决4.总结5.更新日志1.题目2.分析3.代码第一次尝试(❌):未考虑全面 0 的问题#include <stdio.h>int main(){ int Num[10],i=0,j=0,len=0,Money; //定义数组接受每个数字 scanf("%d",&Money); while(Money) { Num[i++]=原创 2022-03-15 17:07:31 · 116 阅读 · 0 评论 -
7-28 猴子选大王
7-28 猴子选大王1.题目2.分析思路:编号->循环->找出猴王3.代码正确解法4.总结5.更新日志1.题目一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式:输入在一行中给一个正整数N(≤1000)。输出格式:在一行中输出当选猴王的编号。输入样例:原创 2022-03-15 13:23:42 · 354 阅读 · 0 评论 -
7-27 冒泡法排序
7-27 冒泡法排序0.前言冒泡排序1.题目2.分析3.代码4.更新日志0.前言冒泡排序1.题目将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。输入格式:输入在第1行中给出N和K(1≤K<N≤原创 2022-03-14 20:45:31 · 294 阅读 · 0 评论 -
7-26 单词长度
7-26 单词长度1.题目2.分析3.代码第一次尝试: 开头,结尾0未考虑全面第二次尝试:格式错误正确解法:考虑开头,结尾,倒数第二位4.总结5.更新日志1.题目你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it’s算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。输入格式:输入在一行中给出一行文本,以 . 结束提示:用scanf("%c",…);来读入一个字符,直到读到.为止。输原创 2022-03-14 19:47:30 · 192 阅读 · 0 评论 -
7-25 念数字
7-25 念数字1.题目2.分析3.代码4.更新日志1.题目输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。输入样例:-600输出样例:fu liu ling ling2.分析考虑负数、零的特殊情况3.代码#inclu原创 2022-03-14 12:03:44 · 202 阅读 · 0 评论 -
7-24 约分最简分式
7-24 约分最简分式1.题目2.分析3.代码4.总结5.更新日志1.题目分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。输入格式:输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整数(不包含0,如果不清楚正原创 2022-03-13 21:45:33 · 158 阅读 · 0 评论 -
7-22 龟兔赛跑
7-22 龟兔赛跑1.题目2.分析3.代码尝试1:未考虑10分钟之内,奔跑中平局尝试2:未考虑奔跑中平局正确解法: 更改尝试1,2中的Rabbit_Speed 为Rabit_Distance优化4.总结5.更新日志1.题目乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假原创 2022-03-12 15:26:05 · 266 阅读 · 2 评论 -
7-21 求特殊方程的正整数解
7-21 求特殊方程的正整数解1.题目2.分析3.代码4.总结5.更新日志1.题目本题要求对任意给定的正整数N,求方程X2+Y2=N的全部正整数解。输入格式:输入在一行中给出正整数N(≤10000)。输出格式:输出方程X2+Y2=N的全部正整数解,其中X≤Y。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。如果没有解,则输Nosolution。输入样例1:884输出样例1:10 2820 22输入样例2:11输出样例2:No Solution2.分析根据N原创 2022-03-12 14:02:48 · 1802 阅读 · 2 评论 -
7-20 打印九九口诀表
7-20 打印九九口诀表1.题目2.分析3.代码4.总结5.更新日志1.题目本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。输入格式:输入在一行中给出一个正整数N(1≤N≤9)。输出格式:输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。输入样例:4输出样例:2.分析双层循环嵌套,并且根据行列限制,做好边界条件的判断3.代码#include <stdio.h>void main(){ int i,j,N; sc原创 2022-03-12 13:49:15 · 306 阅读 · 0 评论 -
7-18 二分法求多项式单根
7-18 二分法求多项式单根1.题目2.分析3.代码尝试1:❌原因:超时 未设置阈值正确解法:增加对阈值的判断4.总结5.更新日志1.题目二分法求函数根的原理为:如果连续函数f(x)在区间[a,b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f®=0。二分法的步骤为:检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2;否则如果f(a)f(b)<0,则计算中点的值f((a+b)/2);如果f((a+b)/2)正好为0,则(a+b)原创 2022-03-11 15:23:50 · 669 阅读 · 0 评论 -
7-17 爬动的蠕虫
7-17 爬动的蠕虫1.题目2.分析3.代码尝试1:(❌) 原因:min的赋值错误尝试2:(❌) 原因:min的赋值错误正确方法1:(只考虑奇数)正确方法2:(分奇偶)正确方法3:(优化方法2) (分开算)4.总结5.更新日志1.题目一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的原创 2022-03-11 13:45:25 · 162 阅读 · 0 评论 -
7-16 求符合给定条件的整数集
7-16 求符合给定条件的整数集1.题目2.分析3.代码4.总结5.更新日志1.题目给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。输入格式:输入在一行中给出A。输出格式:输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。输入样例:2输出样例:234 235 243 245 253 254324 325 342 345 352 354423 425 432 435 452 45352原创 2022-03-10 16:19:00 · 216 阅读 · 0 评论 -
7-15 计算圆周率 (n的阶乘会超过int、申清题目要求)
1.题目2.分析3.代码4.总结5.原创 2022-03-10 15:33:35 · 426 阅读 · 0 评论 -
7-14 求整数段和
7-14 求整数段和 1.题目2.分析3.代码4.总结5.更新日志1.题目给定两个整数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原创 2022-03-09 13:47:28 · 174 阅读 · 0 评论 -
7-13 日K蜡烛图
7-13 日K蜡烛图1.题目2.分析3.代码4.总结5.更新日志1.题目股票价格涨跌趋势,常用蜡烛图技术中的K线图来表示,分为按日的日K线、按周的周K线、按月的月K线等。以日K线为例,每天股票价格从开盘到收盘走完一天,对应一根蜡烛小图,要表示四个价格:开盘价格Open(早上刚刚开始开盘买卖成交的第1笔价格)、收盘价格Close(下午收盘时最后一笔成交的价格)、中间的最高价High和最低价Low。如果Close<Open,表示为“BW-Solid”(即“实心蓝白蜡烛”);如果Close>Op原创 2022-03-08 19:58:31 · 151 阅读 · 0 评论 -
7-12 两个数的简单计算器
7-12 两个数的简单计算器1.题目2.分析3.代码4.更新日志1.题目本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。输入格式:输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。输出格式:当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。输入原创 2022-03-08 18:24:20 · 355 阅读 · 0 评论 -
7-11 分段计算居民水费
7-11 分段计算居民水费1.题目2.分析3.代码4.更新日志1.题目为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。输入格式:输入在一行中给出非负实数x。输出格式:在一行输出应交的水费,精确到小数点后2位。输入样例1:12输出样例1:16.00输入样例2:16输出样例2:22.502.分析注意题目中x为非原创 2022-03-08 18:03:24 · 1464 阅读 · 0 评论 -
7-10 计算工资
7-10 计算工资1.题目2.分析3.代码优化:1.运用宏定义和条件运算符2.或者全用条件运算符(但此时代码可读性较差)4.总结5.更新日志1.题目某公司员工的工资计算方法如下:一周内工作时间不超过40小时,按正常工作时间计酬;超出40小时的工作时间部分,按正常工作时间报酬的1.5倍计酬。员工按进公司时间分为新职工和老职工,进公司不少于5年的员工为老职工,5年以下的为新职工。新职工的正常工资为30元/小时,老职工的正常工资为50元/小时。请按该计酬方式计算员工的工资。输入格式:输入在一行中给出2个原创 2022-03-08 14:09:36 · 647 阅读 · 0 评论 -
7-9 用天平找小球
7-9 用天平找小球1.题目2.分析3.代码4.更新日志1.题目三个球A、B、C,大小形状相同且其中有一个球与其他球重量不同。要求找出这个不一样的球。输入格式:输入在一行中给出3个正整数,顺序对应球A、B、C的重量。输出格式:在一行中输出唯一的那个不一样的球。输入样例:1 1 2输出样例:C2.分析if-else3.代码#include <stdio.h> int main() { int Weight_A,Weight_B,Weight_C;原创 2022-03-08 11:16:56 · 111 阅读 · 0 评论 -
7-8 超速判断
7-8 超速判断1.题目2.分析3.代码优化 (使用条件运算符)4.总结5.更新日志1.题目模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”。输入格式:输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。输出格式:在一行中输出测速仪显示结果,格式为:Speed: V - S,其中V是车速,S或者是Speeding、或者是OK。输入样例1:40输出样例1:Speed: 40 - OK输入样例2:7原创 2022-03-08 10:02:59 · 117 阅读 · 0 评论 -
7-7 12-24小时制
7-7 12-24小时制1.题目2.分析3.代码4.总结5.更新日志1.题目编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。输入格式:输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。提示:在scanf的格式字符串中加入:让scanf来处理这个冒号。输出格式:在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示原创 2022-03-07 21:35:08 · 330 阅读 · 0 评论 -
7-6 混合类型数据格式化输入
这里写自定义目录标题1.题目2.代码3.更新日志1.题目本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。输入格式:输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。输出格式:在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。输入样例:2.12 88 c 4.7输出样例:c 88 2.12 4.702.代码#include <stdio.h>原创 2022-03-07 21:13:14 · 631 阅读 · 0 评论 -
7-5 表格输出
7-5 表格输出1.题目2.分析3.代码4.更新日志1.题目本题要求编写程序,按照规定格式输出表格。输入格式: 本题目没有输入。输出格式: 要求严格按照给出的格式输出下列表格:------------------------------------Province Area(km2) Pop.(10K)------------------------------------Anhui 139600.00 6461.00 Beijing原创 2022-03-06 16:30:37 · 1221 阅读 · 0 评论 -
7-4 BCD解密
7-4 BCD解密 1.题目2.分析3.代码4.更新日志1.题目 BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了! 现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。输入格式:输入在一行原创 2022-03-06 16:13:35 · 160 阅读 · 0 评论 -
7-3 逆序的三位数
7-3 逆序的三位数 1.题目2.分析3.代码4.更新日志1.题目 程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式: 每个测试是一个3位的正整数。输出格式: 输出按位逆序的数。输入样例:123输出样例:3212.分析考虑使用数组、递归等方法解决3.代码#include <stdio.h原创 2022-03-04 17:36:54 · 140 阅读 · 0 评论 -
7-2 然后是几点
7-2 然后是几点 1.题目2.分析3.代码4.更新日志1.题目有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5 点 30 分表示为 530;0 点 30 分表示为 030。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。输入格式:输原创 2022-03-04 16:37:15 · 137 阅读 · 0 评论 -
7-1 厘米换算英尺英寸
7-1 厘米换算英尺英寸 1.题目2.分析3.代码4.更新日志1.题目7-1 厘米换算英尺英寸 (15 分)如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式: 输入在一行中给出1个正整数,单位是厘米。输出格式: 在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。输入样例: 170输出样例: 5 62.分原创 2022-03-01 23:28:12 · 182 阅读 · 0 评论