![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PTA基础题集
辰月二
这个作者很懒,什么都没留下…
展开
-
7-4 BCD解密 (10 分)
7-4 BCD解密 (10 分)BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了!现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。输入格式:输入在一行中给出一个[0, 153]范围内的正整数,保证能转换回有效的BCD数,也就是说这个整数转原创 2021-04-30 14:05:09 · 154 阅读 · 0 评论 -
7-3 逆序的三位数 (10 分)
7-3 逆序的三位数 (10 分)程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式:每个测试是一个3位的正整数。输出格式:输出按位逆序的数。输入样例:123输出样例:321代码如下:#include<stdio.h>int main(){ int x; scanf("%d", &x); while(x%10 == 0) // 消个位数0 x = x /10原创 2021-04-29 19:55:22 · 129 阅读 · 0 评论 -
7-2 然后是几点 (15 分)
7-2 然后是几点 (15 分)有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5 点 30 分表示为 530;0 点 30 分表示为 030。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。输入格式:输入在一行中给出 2 个整数,分别是原创 2021-04-29 19:06:18 · 146 阅读 · 3 评论 -
7-1 厘米换算英尺英寸 (15 分)
7-1 厘米换算英尺英寸 (15 分)如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。输入样例:170输出样例:5 6代码和解析:#include <stdio.h>#define M原创 2021-04-27 09:24:55 · 178 阅读 · 0 评论 -
6-13 折半查找 (15 分)
6-13 折半查找 (15 分)给一个严格递增数列,函数int Search_Bin(SSTable T, KeyType k)用来二分地查找k在数列中的位置。函数接口定义:int Search_Bin(SSTable T, KeyType k)其中T是有序表,k是查找的值。裁判测试程序样例:#include <iostream>using namespace std;#define MAXSIZE 50typedef int KeyType;typedef str原创 2021-04-26 09:41:00 · 207 阅读 · 0 评论 -
6-11 求自定类型元素序列的中位数 (25 分) 希尔排序
6-11 求自定类型元素序列的中位数 (25 分)本题要求实现一个函数,求N个集合元素A[]的中位数,即序列中第⌊(N+1)/2⌋大的元素。其中集合元素的类型为自定义的ElementType。函数接口定义:ElementType Median( ElementType A[], int N );其中给定集合元素存放在数组A[]中,正整数N是数组元素个数。该函数须返回N个A[]元素的中位数,其值也必须是ElementType类型。裁判测试程序样例:#include <stdio.h>原创 2021-04-25 14:13:13 · 449 阅读 · 0 评论 -
6-10 阶乘计算升级版 (20 分)
6-10 阶乘计算升级版 (20 分)本题要求实现一个打印非负整数阶乘的函数。函数接口定义:void Print_Factorial ( const int N );其中N是用户传入的参数,其值不超过1000。如果N是非负整数,则该函数必须在一行中打印出N!的值,否则打印“Invalid input”。裁判测试程序样例:#include <stdio.h>void Print_Factorial ( const int N );int main(){ int N;原创 2021-04-23 17:32:59 · 314 阅读 · 0 评论 -
6-7 统计某类完全平方数
@[6-7 统计某类完全平方数]6-7 统计某类完全平方数 (20 分)本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。函数接口定义:int IsTheNumber ( const int N );其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。裁判测试程序样例:#include <stdio.h>#include <math.h>int IsTheNumber ( cons转载 2021-04-22 16:07:06 · 229 阅读 · 1 评论 -
6-9 统计个位数字 (15 分)
6-9 统计个位数字 (15 分)本题要求实现一个函数,可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。函数接口定义:int Count_Digit ( const int N, const int D );其中N和D都是用户传入的参数。N的值不超过int的范围;D是[0, 9]区间内的个位数。函数须返回N中D出现的次数。裁判测试程序样例:#include <stdio.h>int Count_Digit ( const int N,原创 2021-04-22 16:32:17 · 105 阅读 · 0 评论