![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PTA
Fovait
这个作者很懒,什么都没留下…
展开
-
PTA L3-037 夺宝大赛
从大本营进行bfs,记录到每个点的距离,记录每个参赛队到达大本营的距离,有相同距离的参赛队不为获胜者,具有单一距离且最小的参赛队为赢家。原创 2024-04-21 21:50:08 · 207 阅读 · 0 评论 -
天梯赛PTA 树的遍历
思路根据后序遍历和中序遍历我们可以求出前序遍历,在求前序遍历的同时可以求层序遍历后序遍历:2 3 1 5 7 6 4中序遍历:1 2 3 4 5 6 7先根据后续遍历求出根节点,即4,并将根节点放入层数组,然后分左右子树递归,可以观察到若中序遍历的根节点为第i个,那么左子树的根节点在后续遍历的数组中的位置为r - (r - i + 1)(当前子树的结点总数-右子树的结点和根结点的数目),右子树的根节点为r - 1#include <bits/stdc++.h>#inclu.原创 2022-04-19 21:59:59 · 1017 阅读 · 3 评论 -
PTA 5-24 水仙花数 (20分)
这题入门时写的,暴力就完事儿了#include<stdio.h>int main(){ int n; scanf("%d",&n); int i; if(n == 3){ for(i= 100;i<1000;i++){ int b=i/10; int c=i%10; int d=b/10; int e=b%10; if(i==e*e*e+c*c*c+d*d.原创 2020-12-06 20:12:51 · 370 阅读 · 2 评论 -
PTA 5-21 兔子繁衍问题 (15分)
#include<stdio.h>int main(){ int n; int i; int b; scanf("%d",&n); int a[10000]={0}; for(i=1;i<n+1;i++){ if(i==1||i==2) a[i]=1; else a[i]=a[i-1]+a[i-2]; } if(n==1) { printf("%d",n); goto ret;} if(n==3||n==2){.原创 2020-12-06 20:10:25 · 184 阅读 · 0 评论 -
5-20 最大公约数和最小公倍数 (15分)
#include<stdio.h>int main(){ int m,n; scanf("%d%d",&m,&n); int a,b,c; c = n; if(n>m) c = m; for(a = 1;a<=c;a++){ if(m%a ==0&&n%a ==0) b =a; } printf("%d",b); int.原创 2020-12-06 20:08:15 · 312 阅读 · 0 评论 -
PTA7-10 汉诺塔问题 (20分)
本题关键是要运用递归,并把问题抽象#include<stdio.h>void hanoi(int x,char a[],char b[],char c[]){//汉诺塔函数 if(x==1)//当x=1时,意味着只有一个盘子,此时的方法就是直接从a移到c printf("%s->%s\n",a,c); else{//x不是1 hanoi(x-1,a,c,b);//把除了最底层盘子上的(x-1)个盘子从a移到b prin.原创 2020-12-02 08:37:38 · 4813 阅读 · 2 评论 -
PTA 9-5 通讯录排序 (20分)
有时间再更新解析,相信你们都能看懂QAQ#include<stdio.h>int main(){ int n; scanf("%d",&n); struct xinxi{ char a[11]; int date; char b[20];}c[9],p; int i; for(i=0;i<n;i++){ scanf("%s%d%s",&c[i].a,&c[i].date,&am.原创 2020-11-25 22:36:46 · 483 阅读 · 0 评论 -
PTA5-6 统计学生成绩 (15分)
#include<stdio.h>int main(){ int A = 0 , B = 0 ,C = 0 , D = 0 , E = 0; int N = 0, score, i = 0; scanf("%d", &N);//人数 for(i = 1; i <= N; i++) { scanf("%d", &score);//成绩 if(score >= 90) A++; else if(score.原创 2020-11-25 22:32:36 · 317 阅读 · 0 评论 -
PTA 5-4 求阶乘序列前N项和 (15分)
#include<stdio.h>int main(){ int N; scanf("%d",&N); int b = 1; int i; int c; c = 0; for(i=1;i<=N;i++){ b*=i; c+=b; } printf("%d\n",c); return 0;}原创 2020-11-25 22:30:50 · 158 阅读 · 0 评论 -
PTA 4-4 输出三角形面积和周长 (15分)
#include<stdio.h>#include<math.h>//使用math头文件sqrt函数int main(){ double a,b,c,s,w;//定义double变量 scanf("%lf%lf%lf",&a,&b,&c); s= (a+b+c)/2.0; w = sqrt(s*(s-a)*(s-b)*(s-c)); if(a+b>c&&a+c>b&&b.原创 2020-11-25 22:28:51 · 1593 阅读 · 0 评论 -
PTA5-28 编程打印空心字符菱形 (10分)
#include<iostream>#include<cstdio>using namespace std;int main(){ char c; int a; scanf("%c %d",&c, &a); int i,j=1,k,l; for(i = 0; i <(a + 1) / 2;i++){ for(k=1;k < (a+1)/2-i; k++)printf(" "); if(i == 0){ printf("%c\n.原创 2020-11-23 21:15:36 · 1653 阅读 · 0 评论 -
PTA6-26 字符串转换成十进制整数 (15分)
#include<iostream>#include<cstdio>using namespace std;int main(){ char c; int i; int j = 0,l = 0; int a[1000]={0};//开个1000的整数数组用来存数 for(i = 0;;i++){ c=getchar();//接受输入的字符 if(c == '#')break;//当接收到#退出循环 .原创 2020-11-23 16:57:08 · 584 阅读 · 0 评论 -
PTA7-12 圆形体体积计算器 (20分)
#include<iostream>#include<cstdio>using namespace std;int main(){ int i; const double PI = 3.1415926535898;//定义PI的值 注意PI的精度一定要准确 double j, k; while(1){//无限循环 scanf("%d",&i);//输入i的值 后面用scanf函数也是可以的 cout << "1-Ball" ..原创 2020-11-23 16:50:34 · 1331 阅读 · 2 评论 -
PTA5-3 求平方根序列前N项和 (15分)
原创 2020-11-22 11:22:34 · 117 阅读 · 0 评论 -
PTAc语言9-5 通讯录排序 (20分)
#include<stdio.h>int main(){int n;scanf("%d",&n);struct xinxi{char a[11];int date;char b[20];}c[9],p;int i;for(i=0;i<n;i++){scanf("%s%d%s",&c[i].a,&c[i].date,&c[i].b);}for(i=0;i<n-1;i++){int j=0;for(;j<n-1;j+.原创 2020-10-29 06:50:46 · 2398 阅读 · 3 评论 -
c语言PTA9-1找出总分最高的学生 (15分)
原创 2020-10-27 21:36:06 · 2278 阅读 · 0 评论 -
c语言PTA7-14 函数编程-分段函数 (15分)
#include<stdio.h>#include<math.h>int main(){double hanshu(double a);double x;scanf("%lf",&x);double y;int a=0;if(x<=-2){y=-exp(2x+1)+3;a=1;}if(x>3){y=hanshu(x);a=1;}if(a==0)printf(“y=%.6lf”,2x-1);if(a==1)printf(“y=.原创 2020-10-27 21:33:24 · 7560 阅读 · 1 评论 -
PTA6-22 求二维数组周边元素的累加和 (10分)
求一个4×5数组周边元素的累加和。输入格式:输入4行5列的矩阵,每行第一个数前没有空格,每行的每个数之间各有一个空格。输出格式:直接输出整型结果。没有其它任何附加字符。原创 2020-10-18 13:57:52 · 4751 阅读 · 2 评论 -
PTAc语言 找出总分最高的学生
给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。输出格式:在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。#include<stdio.h>int main(原创 2020-10-18 13:46:33 · 1522 阅读 · 0 评论 -
PTA6-17 打印杨辉三角 (20分)
本题要求按照规定格式打印前N行杨辉三角。输入格式:输入在一行中给出N(1≤N≤10)。输出格式:以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。原创 2020-10-18 07:44:37 · 798 阅读 · 0 评论