- 博客(25)
- 收藏
- 关注
原创 PTA 6-5 查找子串 (20 分)
6-5 查找子串 (20 分)本题要求实现一个字符串查找的简单函数。函数接口定义:char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。裁判测试程序样例:#include <stdio.h>#define MAXS 30char *search(char *s, char *t);void ReadString( char s[] ); /* 裁判提供,细节不表 */
2021-03-19 12:25:53
593
原创 PTA 6-7 十进制转换二进制 (15 分) 简单的递归
本题要求实现一个函数,将正整数n转换为二进制后输出。函数接口定义:void dectobin( int n );函数dectobin应在一行中打印出二进制的n。建议用递归实现。裁判测试程序样例:#include <stdio.h>void dectobin( int n );int main(){int n;scanf("%d", &n);dectobin(n);return 0;}/* 你的代码将被嵌在这里 */输入样例:10输出样例:1010
2021-03-03 21:45:33
747
1
原创 C语言-大数次幂运算方法
在知乎上看到一个问题,涉及到一个数的高次幂运算,想用自己初学者的水平,来写一写。计算7的1919次方因为int有限,装不开这个数,就用数组表示,每个int里面装一部分这个数,最后倒序输出数组。这时候要注意的是数组中的进位问题,为了方便,我给出了函数"Frmt"作为辅助。#include <stdio.h>#include <stdlib.h>/* * Calculate the number : 7^199 */#define TenMil 10000000#
2021-02-11 23:19:43
3001
原创 7-2 字符串排序
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。输出格式:按照以下格式输出排序后的结果:After sorted:每行一个字符串输入样例:red yellow blue green white输出样例:After sorted:bluegreenredwhiteyellow#include <stdio.h>#include <math.h&g
2020-12-20 20:13:01
1798
原创 PTA 字符比较最小字符
我不懂啥叫最小字符串所以我以为是最短的字符串,或者是ascii码最小的字符串本题要求编写程序,针对输入的N个字符串,输出其中最小的字符串。输入格式: 输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。输出格式: 在一行中用以下格式输出最小的字符串:Min is: 最小字符串 输入样例: 5 Li Wang Zha Jin Xian 输出样例: Min is: Jin怎么就能出Jin呢?很懵逼,后来发现她用的是strcmp来比较的st
2020-12-19 17:07:20
581
1
原创 PTA 7-14 IP地址转换 (20分)
一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。输入格式:输入在一行中给出32位二进制字符串。输出格式:在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。输入样例:11001100100101000001010101110010输出样例:204.148.21.114就是分为两部分先输入数字;再转换二进制;#include <stdio.h>
2020-12-19 11:36:51
1538
2
原创 PTA 7-10 字符转换 (15分)
本题要求提取一个字符串中的所有数字字符(‘0’……‘9’),将其转换为一个整数输出。输入格式:输入在一行中给出一个不超过80个字符且以回车结束的字符串。输出格式:在一行中输出转换后的整数。题目保证输出不超过长整型范围。输入样例:free82jeep5输出样例:825作者杨起帆单位浙大城市学院代码长度限制16 KB时间限制400 ms内存限制64 MB这里需要考虑0的各种情况#include <stdio.h>#include <math.h>
2020-12-18 23:02:36
1967
3
原创 PTA 螺旋方阵
所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。输入格式:输入在一行中给出一个正整数N(<10)。输出格式:输出N×N的螺旋方阵。每行N个数字,每个数字占3位。输入样例:5输出样例:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9个人认为很复杂,不好写所以拆分成一种累加的形式tmp类似
2020-12-08 17:37:02
448
原创 PTA 找鞍点
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。输入样例1:41 7 4 14 8 3 61 6 1 20 7 8 9输出样例1:2 1输入样例2:21 74
2020-12-08 15:07:47
191
原创 PTA 打印杨辉三角
本题要求按照规定格式打印前N行杨辉三角。输入格式:输入在一行中给出N(1≤N≤10)。输出格式:以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。输入样例:6输出样例:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1(20分)下面是我的做法,没用数组#include <stdio.h>#pragma warning(disable:4996)int main(void)
2020-12-08 14:47:41
1345
原创 PTA 7-1 求矩阵的局部极大值
感觉代码能精简可是太菜了目前没找到别的方法给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。输入格式:输入在第一行中给出矩阵A的行数M和列数N(3≤M,N≤20);最后M行,每行给出A在该行的N个元素的值。数字间以空格分隔。输出格式:每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行
2020-12-04 20:26:52
1193
原创 PTA 判断上三角矩阵
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-12-04 20:23:58
1473
原创 PTA 利用数组计算斐波那契数列
7-11 利用数组计算斐波那契数列本题要求编写程序,利用数组计算菲波那契(Fibonacci)数列的前N项,每行输出5个,题目保证计算结果在长整型范围内。Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,例如::1,1,2,3,5,8,13,…。输入格式:输入在一行中给出一个整数N(1≤N≤46)。输出格式:输出前N个Fibonacci数,每个数占11位,每行输出5个。如果最后一行输出的个数不到5个,也需要换行。如果输入的N不在有效范围内,则输出"Invalid
2020-12-03 21:49:23
3153
原创 PTA 7-9 求整数序列中出现次数最多的数
本题应用了7-8类似的计算方法本题要求统计一个整型序列中出现次数最多的整数及其出现次数。输入格式:输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。输出格式:在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。输入样例:10 3 2 -1 5 3 4 3 0 3 2输出样例:3 4#include <stdio.h>#pragma warning(disable:4996)int main.
2020-12-03 21:24:42
850
原创 PTA7-8 找出不是两个数组共有的元素
给定两个整型数组,本题要求找出不是两者共有的元素。输入格式:输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。输出格式:在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。输入样例:10 3 -5 2 8 0 3 5 -15 9 10011 6 4 8 2 6 -5 9 0 100 8 1输出样例:3 5 -15 6 4 1刚开始的想法是直接枚举,
2020-12-03 21:11:43
844
原创 PTA:7-6 求一批整数中出现最多的个位数字
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。输入格式:输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。输出格式:在一行中按格式“M: n1 n2 …”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。输入样例:31234 2345 3456输出样例
2020-12-03 19:23:18
528
原创 基于自己之前记忆瞎写并傻不啦叽的修改好多次的菜鸟的冒泡排序
自己试着回忆写了一下#include <stdio.h>#pragma warning(disable:4996)int main(void) { int n, num[1000]; int swap(int* x, int* y); scanf_s("%d", &n); printf("%d", n); int i = 0; while (1) { scanf_s("%d", &num[i]); i++; if (i == n) break;
2020-11-29 15:29:59
72
2
原创 PTA 习题记录:统计一行文本的单词个数
**统计一行文本的单词个数 **本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let’s go to room 209.输出样例:5下面是我的代码思路:#include<stdio.h>int main() { char a, b; int n = 0; b = ' '; a = getchar(); whil
2020-11-19 20:59:03
318
原创 6-11 使用函数输出水仙花数 (20分)
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13 + 53 + 33本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义int narcissistic( int number );void PrintN( int m, int n );裁判函数样例#include <stdio.h>int narcissistic( int number );v
2020-11-10 13:37:00
1521
原创 PTA 7-5 支票面额 (15分)
PTA 7-5 支票面额 (15分)一个采购员去银行兑换一张y元f分的支票,结果出纳员错给了f元y分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少?输入格式:输入在一行中给出小于100的正整数n。输出格式:在一行中按格式y.f输出该支票的原始面额。如果无解,则输出No Solution。输入样例1:23输出样例1:25.51输入样例2:22输出样例2:No Solution用穷举法解方程#define _CRT_SECURE_NO_WAR
2020-10-28 11:08:23
496
原创 PTA 7-8 打印沙漏 (20分)
PTA 7-8 打印沙漏 (20分)本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印/*****/ ***/ */ ***/*****所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式
2020-10-28 10:55:10
753
原创 PTA 7-7 约分最简分式 (15分)
PTA 7-7 约分最简分式 (15分)分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。输入格式:输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整数(不包含0,如果不清楚正整数的定义的话)。提示:在sc
2020-10-28 10:23:59
1166
原创 PTA 7-6 求特殊方程的正整数解 (15分)
PTA 7-6 求特殊方程的正整数解 (15分)本题要求对任意给定的正整数N,求方程X2 +Y2 =N的全部正整数解。输入格式:输入在一行中给出正整数N(≤10000)。输出格式:输出方程X2 +Y2 =N的全部正整数解,其中X≤Y。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。如果没有解,则输出No Solution。输入样例1:884输出样例1:10 2820 22输入样例2:11输出样例2:No Solution代码
2020-10-28 10:08:46
1322
原创 PTA 7-4 编程打印空心字符菱形
7-4 编程打印空心字符菱形 (10分)本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。输入格式:输入在一行中给出起始字母(范围为英文大写字母A-G)和菱形的高度(为不超过10的奇数)。输出格式:输出空心字符菱形。需要注意是的空格问题以下是我的思路#define _CRT_SECURE_NO_WARNING
2020-10-24 17:18:08
3173
原创 PTA好气
今天弄PTA,就是这个,写了好久,一直显示不对,很气。然后上网搜现成的,发现输入他明明是yyyy,可是竟然用%d能过!然而我依旧不知道哪里的问题。写下来纪念一下#include <stdio.h>#include <math.h>int main(){ char y1, y2, y3, y4, m1, m2, d1, d2; int year, m, day = 0, bo = 0; y1 = getchar(); y2 = getchar(
2020-10-08 16:24:43
167
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人