![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PTA笔记
大一PTA自己的小笔记,欢迎纠正和优化
无忧MG
这个作者很懒,什么都没留下…
展开
-
c++中 . 和 -> 的区别是什么
c++中 . 和 -> 主要是用法上的不同。1、A.B则A为对象或者结构体;2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;例如:class student{public:string name[20];}第一种情况,采用指针访问 student *xy,则访问时需要写成 (*xy).name=“hhhhh”;等价于xy->name=“hhhhh”。第二种情况,采用普通成员访问 student xy,则访原创 2021-03-10 16:49:01 · 6388 阅读 · 0 评论 -
输出大写英文字母 (15分)
本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。输入格式:输入为一个以回车结束的字符串(少于80个字符)。输出格式:按照输入的顺序在一行中输出所出现过的大写英文字母,每个字母只输出一遍。若无大写英文字母则输出“Not Found”。输入样例1:FONTNAME and FILENAME输出样例1:...原创 2020-01-15 00:03:11 · 1168 阅读 · 0 评论 -
螺旋方阵 (20分)
所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。输入格式:输入在一行中给出一个正整数N(<10)。输出格式:输出N×N的螺旋方阵。每行N个数字,每个数字占3位。输入样例:5输出样例: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7...原创 2020-01-14 23:06:23 · 880 阅读 · 0 评论 -
打印杨辉三角 (20分)
本题要求按照规定格式打印前N行杨辉三角。输入格式:输入在一行中给出N(1≤N≤10)。输出格式:以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。输入样例:6输出样例: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1...原创 2020-01-14 21:48:29 · 447 阅读 · 0 评论 -
计算天数 (15分)
本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02输出样例1:61输入样例2:2000/03/02输出样例2...原创 2020-01-14 21:31:04 · 183 阅读 · 0 评论 -
找出不是两个数组共有的元素 (15分)
给定两个整型数组,本题要求找出不是两者共有的元素。输入格式:输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。输出格式:在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。输入样例:10 3 -5 2 8 0 3 5 -15 9 10011 6...原创 2020-01-14 21:26:47 · 1455 阅读 · 2 评论 -
求一批整数中出现最多的个位数字 (15分)
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。输入格式:输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。输出格式:在一行中按格式“M: n1 n2 …”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小...原创 2020-01-14 21:21:36 · 325 阅读 · 0 评论 -
选择法排序 (15分)
本题要求将给定的n个整数从大到小排序后输出。输入格式:输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。输出格式:在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。输入样例:45 1 7 6输出样例:7 6 5 1纯练习题,没啥好讲的。。。#include<stdio.h>int main(){ int...原创 2020-01-14 20:32:21 · 577 阅读 · 0 评论 -
简单计算器 (20分)
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出格式:在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。输入样例:1+2*10-10/2=输出样例:10...原创 2020-01-14 20:22:45 · 308 阅读 · 1 评论 -
统计一行文本的单词个数 (15分)
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let’s go to room 209.输出样例:5这题看了几篇博主的解答,我觉得有点麻烦,直到看到了一位博主的精辟解答我恍然大悟,借鉴了下,由于时间太长忘记是哪位大神了,希望别...原创 2020-01-14 20:18:35 · 6436 阅读 · 8 评论 -
使用函数统计指定数字的个数 (5分)
本题要求实现一个统计整数中指定数字的个数的简单函数。函数接口定义:int CountDigit( int number, int digit );其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。裁判测试程序样例:#include <stdio.h>int CountDigit( ...原创 2020-01-14 19:51:26 · 716 阅读 · 0 评论 -
数字金字塔 (10分)
本题要求实现函数输出n行数字金字塔。函数接口定义:void pyramid( int n );其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。裁判测试程序样例:#include <stdio.h>void pyramid( int n );int main(){ in...原创 2020-01-14 19:31:56 · 1412 阅读 · 0 评论 -
使用函数判断完全平方数 (10分)
本题要求实现一个判断整数是否为完全平方数的简单函数。函数接口定义:int IsSquare( int n );其中n是用户传入的参数,在长整型范围内。如果n是完全平方数,则函数IsSquare必须返回1,否则返回0。裁判测试程序样例:#include <stdio.h>#include <math.h>int IsSquare( int n );int ...原创 2020-01-14 19:20:24 · 3572 阅读 · 0 评论 -
高空坠球 (10分)
皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?输入格式:输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。输出格式:在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。输...原创 2020-01-14 16:57:02 · 284 阅读 · 0 评论 -
兔子繁衍问题 (10分)(斐波那契数列的实际应用)
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?输入格式:输入在一行中给出一个不超过10000的正整数N。输出格式:在一行中输出兔子总数达到N最少需要的月数。输入样例:30输出样例:9又是一道经典的不行的题目。本章采用自定义递归函数的写法,...原创 2020-01-14 16:44:11 · 542 阅读 · 0 评论 -
特殊a串数列求和
7-7 特殊a串数列求和 (10分)给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。输入格式:输入在一行中给出不超过9的正整数a和n。输出格式:在一行中按照“s = 对应的和”的格式输出。输入样例:2 3输出样例:s = 246*本题其实很简单,但是重在思想,可以反复乘10的方法进行叠加一开始我想复杂了,想着用s=s+p...原创 2020-01-14 16:38:07 · 1470 阅读 · 0 评论 -
统计素数并求和(自定义函数法)
7-6 统计素数并求和 (10分)本题要求统计给定整数M和N区间内素数的个数并对它们求和。输入格式:输入在一行中给出两个正整数M和N(1≤M≤N≤500)。输出格式:在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。输入样例:10 31输出样例:7 143为了以后的方便,本题采用自定义函数的形式,判断一个数是否为素数#include <std...原创 2020-01-14 16:31:44 · 1855 阅读 · 0 评论 -
最大公约数和最小公倍数 (10分)(三种方法)(辗转相除法和辗转相减法)
很经典的一道题,我们来直接看题目本题要求两个给定正整数的最大公约数和最小公倍数。输入格式:输入在一行中给出两个正整数M和N(≤1000)。输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:511 292输出样例:73 2044此题的解法有暴力,辗转相除,辗转相减三种这里为了简洁,我只介绍后两种。第一种:辗转相减:首先,上个百...原创 2020-01-14 15:38:43 · 1440 阅读 · 0 评论 -
查询水果价格 (15分)
给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。首先在屏幕上显示以下菜单:[1] apple[2] pear[3] orange[4] grape[0] exit用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询...原创 2020-01-14 14:46:16 · 766 阅读 · 0 评论 -
7-4 统计字符 (10分)
本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。输入格式:输入为10个字符。最后一个回车表示输入结束,不算在内。输出格式:在一行内按照letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数的格式输出。输入样例:aZ &09 Az输出样例:letter...原创 2020-01-13 21:21:16 · 5631 阅读 · 0 评论 -
7-7 计算火车运行时间 (15分)
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。输入格式:输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。输出格式:在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。输入样例:1201 1530输...原创 2020-01-13 20:59:06 · 12323 阅读 · 4 评论