
程序设计
warm-
学而时习之:)
展开
-
二叉树着色游戏
题目描述在这里插入图片描述思路一号玩家选择节点后,将树分成了三个部分:左子树,右子树和其父节点另外一个子树。如果左子树节点数目(left)大于总节点数目的一半,返回true如果右子树节点数目(right)大于总节点数目的一半,返回false如果left+right 小于总节点数目的一半(其父节点另外一个子树节点数目大于总节点数目的一半),返回true/** * Definition for a binary tree node. * struct TreeNode { *原创 2021-08-10 14:04:36 · 293 阅读 · 0 评论 -
读取带标点的英文段落,分词、去重按字典顺序输出(C语言)
例如:输入:I love Beijing.I Love China.Oh,Beijing is the capital of China.Do you know?Cheer up!!输出:BeijingCheerChinaDoILoveOhcapitalisknowloveoftheupyou#include <stdio.h>#incl...原创 2020-01-01 15:54:11 · 536 阅读 · 0 评论 -
PAT乙级 1014福尔摩斯的约会(C语言)
到现在题目也没搞太明白,反正通过了。下面我的理解。注意:判断小时数:题目中说是第2对相同字符,应该是星期数后面的相同的字符,并且要满足:是数字或则A~N之间。如果是从头开始的第二个满足条件的字符,比如:3485djDkxh4hhGE2985akDfkkkkggEdsb这两个字符串,第2个满足条件的字符是5,但小时数应该是字符E(星期数D的后一个满足条件的字符)。#inclu...原创 2019-12-31 18:15:39 · 220 阅读 · 0 评论 -
PAT乙级 1013 数素数(C语言)
注意:超时问题。 判断是否为素数的函数里求该数的平方根,减少时间。#include <stdio.h>#include <stdlib.h>#include <math.h>int isPrime(int n){ int i, tmp; if(n < 2) { return 0; } tmp = (int)sqrt(n);...原创 2019-12-31 16:30:18 · 302 阅读 · 0 评论 -
PAT乙级 1012 数字分类(C语言)
#include <stdio.h>#include <stdlib.h>int main(){ int n, x, i, count=0, k = -1; int a[5] = {0, 0, 0, 0, 0}; int flag[5] = {0}; scanf("%d", &n); for(i = 0; i<n; i++) { sca...原创 2019-12-31 16:07:37 · 136 阅读 · 0 评论 -
PAT乙级 1011A+B 和 C(C语言)
不知道这个题考的知识点是什么。。。。。#include <stdio.h>int main(){ int t, i; double a, b, c; while(~scanf("%d", &t)) { for(i = 0; i < t; i++) { scanf("%lf %lf %lf", &a, &b, &c); ...原创 2019-12-31 15:39:45 · 317 阅读 · 1 评论 -
PAT乙级 1010一元多项式求导(C语言)
注意点:只要判断第一项求导后是否为零多项式。如果是,输出0 0;否则,依次输出求导后非零多项式。输出格式问题,最后不要带空格。不通过可以试试这两个测试用例:输入:2 3 0 2 0 1输出:6 2 0 1 0 0输入: 0 1输出: 0 0#include <stdio.h>int main(){ int i, j; scanf("%d %d", &am...原创 2019-12-31 15:31:30 · 237 阅读 · 0 评论 -
PAT乙级 1009说反话(C语言)
解题方法就是创建一个二维字符串数组,将读取的单词保存到数组中,然后倒序输出。经过测试,所有的测试样例,单词的数量最多为8个,单词的长度最大为10。#include <stdio.h>#include <stdlib.h>int main(){ int i, len; char str[8][10] ={'\0'}; len = 0; while(~sc...原创 2019-12-30 17:50:53 · 222 阅读 · 0 评论 -
PAT甲级 1002 A+B for Polynomials(C语言)
笨方法:创建一个结构体保存指数和系数。测试点:系数为0的情况。不计入项数,也不输出。输出格式的问题#include <stdio.h>#include <stdlib.h>#define MAX 20typedef struct num{ // n^m double n; int m;}NUM;void sort(NUM a[], int...原创 2019-12-30 17:05:45 · 192 阅读 · 0 评论 -
PAT 甲级 1001(C语言)
注意几种情况:a+b = 0a+b = -10或-100或-1000a+b = 1000或10000#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int a, b, sum, group; int i, len, count = 0; char st...原创 2019-12-30 15:34:22 · 186 阅读 · 0 评论 -
PAT乙级 1008数组循环右移问题(C语言)
第一次提交测试点2没通过。试了半天,发现是当m > n的情况没有考虑到。所以代码加了一行m = m % n。#include <stdio.h>#include <stdlib.h>int main(){ int n, m, i; int *a = NULL; scanf("%d %d",&n, &m); a = (int *)m...原创 2019-12-30 14:43:14 · 284 阅读 · 0 评论 -
PAT 乙级 1007素数对猜想(C语言)
#include <stdio.h>#include <stdlib.h>#include <math.h>int isPrime(int n){ int i, tmp; tmp = (int)sqrt(n); for(i = 2; i <= tmp; i++) { if(n % i == 0) { return 0; ...原创 2019-12-29 19:47:36 · 228 阅读 · 0 评论 -
PAT乙级 1006换个格式输出(c语言)
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>int main(){ int n, i, len, j, k; char str[40] = {'\0'}; char s[4]; \\最大是三位数,位数+1,最后一位存'\0'。...原创 2019-12-29 18:09:59 · 195 阅读 · 0 评论 -
PAT乙级 1005继续3n+1猜想(C语言)
#include <stdio.h>#include <stdlib.h>void bubbleSort(int *p, int n){ int i, j, tmp; for(i = 0; i < n; i++) { for(j = 0; j < n - i -1; j++) { if(p[j] < p[j+1]) { ...原创 2019-12-29 17:43:43 · 551 阅读 · 0 评论 -
PAT 乙级1004 成绩排名
#include <stdio.h>#include <stdlib.h>typedef struct info{ char sname[11]; //注意是11个字符,多余的1位为'\0'。 char sno[11]; int score;}INFO;void infoSort(INFO *p, int n){ int i, j; INFO...原创 2019-12-29 17:17:16 · 92 阅读 · 0 评论 -
PAT1003 我要通过(C语言)
网上已经有很多解析了,就不废话了。主要注意一下几点:P、A、T三个字符都要出现。(测试点2)P、T仅且出现一次。P在T之前。P和T之间至少有一个A。P左边A的数量 * P和T之间A的数量 = T右边A的数量。代码简单易懂,就是判断上面几个条件。#include <stdio.h>int isRight(char *s){ int i = 0,j = 0, c...原创 2019-12-29 16:40:01 · 287 阅读 · 0 评论