
团体程序设计天梯赛-练习集
爱喝水的李师傅
空有人间自由身
却非人间自由人
展开
-
L1-064 估值一亿的AI核心代码
#include<iostream>#include<ctype.h>#include<vector>#include<string>using namespace std;vector<string>v;//存放结果 int main(){ int n; string s; cin>>n; getchar(); while(n--) { getline(ci原创 2020-10-26 16:32:21 · 199 阅读 · 0 评论 -
L1-063 吃鱼还是吃肉
#include <stdio.h>int main(){ int n,i; scanf("%d",&n); for(i=1;i<=n;i++) { int a,b,c,h,w; scanf("%d %d %d",&a,&b,&c); if(a==0) { h=129; w=25; } if(a==1) { h=130; w=27; } if(b<h&&c<w原创 2020-10-26 16:09:36 · 357 阅读 · 0 评论 -
L1-062 幸运彩票
#include <stdio.h>int main(){ int m; scanf("%d",&m); for(int i=0;i<m;i++) { int n,sum1=0,sum2=0; scanf("%d",&n); for(int j=1;j<=3;j++) { sum1+=n%10; n=n/10; } for(int j=1;j<=3;j++) { sum2+=n%10; n=n/10原创 2020-10-26 16:10:36 · 258 阅读 · 0 评论 -
L1-061 新胖子公式
#include <stdio.h>#include <math.h>int main(){ double a,b,c; scanf("%lf %lf",&a,&b); c=a/(pow(b,2)); if(c>25) { printf("%.1lf\nPANG",c); } else printf("%.1lf\nHai Xing",c); return 0; }原创 2020-10-26 16:04:17 · 352 阅读 · 0 评论 -
L1-060 心理阴影面积
#include <stdio.h>int main(){ int x,y,s; scanf("%d %d",&x,&y); s=5000-100*0.5*(100-x+y); printf("%d",s); return 0;}原创 2020-10-26 16:02:42 · 195 阅读 · 0 评论 -
L1-059 敲笨钟
解题思路:每一个字符串有两个判定条件,即'.'前三个字符必须是ong,','前三个字符也必须是ong,只有当这两个条件都满足时才能成立.当这个字符串满足条件时,倒叙字符串,找出倒数第三个字的位置,在此之前的原样输出,在此往后的都替换成敲笨钟#include <stdio.h>#include <string.h>int main(){ int n,i,j; int len,flagA,flagB; int count,pos; char s[101]; sca原创 2020-10-26 16:00:06 · 264 阅读 · 0 评论 -
L1-058 6翻了
解题思路:计算连续的6的个数,对于不是6的字符直接输出即可,在计算连续的6的个数时,最好定义一个标志,便于判断是否连续,如果连续的6的个数小于3个,则输出count个6,超过三个小于不超过9个,则输出9,若超过9个,则输出27#include <stdio.h>int main(){ char ch[1001]; int count=0,flag= 0; gets(ch); for(int i=0;ch[i]!='\0';i++) { if(ch[i]-'0'==6原创 2020-10-26 15:21:58 · 151 阅读 · 0 评论 -
L1-057 PTA使我精神焕发
#include <stdio.h>int main(){ printf("PTA shi3 wo3 jing1 shen2 huan4 fa1 !\n"); return 0; }原创 2020-10-26 16:08:20 · 112 阅读 · 0 评论 -
L1-056 猜数字
#include <stdio.h>#include <math.h>int main(){ struct fr { int c; char ch[10]; }N[10001]; int n,sum=0,avg=0,i,flag=0,min; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s %d",&N[i].ch,&N[i].c); sum+=N[i].c; } avg=原创 2020-10-25 19:38:31 · 124 阅读 · 0 评论 -
L1-055 谁是赢家
#include <stdio.h>int main(){ int a1,a2=0,b1,b2=0,i,a[3]; scanf("%d %d",&a1,&b1); for(i=0;i<3;i++) { scanf("%d",&a[i]); if(a[i]==0) a2++; if(a[i]==1) b2++; } if(a2==3||(a1>b1&&a2>=1)) printf("The win原创 2020-10-25 19:28:46 · 129 阅读 · 0 评论 -
L1-054 福到了
在这里插入代码片解题思路:注意规律,即ch[i][j]=ch[n-1-i][n-1-j]#include <stdio.h>int main(){ int n,flag=1; char c,ch[101][101]; scanf("%c %d",&c,&n); getchar(); for(int i=0;i<n;i++) { for(int j=0;j<n;j++) scanf("%c",&ch[i][j]); g原创 2020-10-25 19:22:02 · 105 阅读 · 1 评论 -
L1-053 电子汪
#include <stdio.h>int main(){ int a,b; scanf("%d %d",&a,&b); for(int i=1;i<=a+b;i++) { printf("Wang!"); } return 0;}原创 2020-10-25 18:31:42 · 220 阅读 · 0 评论 -
L1-052 2018我们要赢
#include <stdio.h>int main(){ printf("2018\nwo3 men2 yao4 ying2 !"); return 0;}原创 2020-10-25 18:29:55 · 80 阅读 · 0 评论 -
L1-051 打折
#include <stdio.h>int main(){ int a,b; scanf("%d %d",&a,&b); printf("%.2f",a*b*0.1); return 0;}原创 2020-10-25 18:29:01 · 143 阅读 · 0 评论 -
L1-050 倒数第N个字符串
解题思路:定义一个字符数组来存储每个得到的字母,倒数可以转化为顺数,l一共可以得到pow(26,l)个字符串,要求倒数第n个字符串,即求第pow(26,l)-n个字符串,每26为一次变化#include <stdio.h>#include <math.h>int main(){ int l,n,k; scanf("%d %d",&l,&n); char a[7]; k=pow(26,l)-n; for(int i=l-1;i>=0原创 2020-10-25 18:13:58 · 248 阅读 · 0 评论 -
L1-049 天梯赛座位分配
存档,不是很懂#include <stdio.h>int main(){ int n,m,a[105][105]={0},b[105][105]={0},max=0,flag=-1,num=1; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&m); if(m>max) max=m; for(int j=0;j<m*10;j++) a[i][j]=1; } for(原创 2020-10-25 16:25:41 · 141 阅读 · 0 评论 -
L1-048 矩阵A乘以B
#include <stdio.h>int main(){ int ra,ca,rb,cb,a[100][100]={0},b[100][100]={0},c[100][100]={0}; //记住要初始化 scanf("%d %d",&ra,&ca); for(int i=0;i<ra;i++) for(int j=0;j<ca;j++) scanf("%d",&a[i][j]); scanf("%d %d",&rb,&a原创 2020-10-24 21:51:18 · 155 阅读 · 0 评论 -
L1-047 装睡
#include <stdio.h>int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) { char ch[3]; int h,m; scanf("%s %d %d",&ch,&h,&m); if(h>20||h<15||m<50||m>70) printf("%s\n",ch); } return 0;}原创 2020-10-24 21:50:18 · 141 阅读 · 0 评论 -
L1-046 整除光棍
//逐渐增加光棍位会导致运行超时,模拟竖式计算法#include <stdio.h>int main(){ int n,c=1; long long k=1; scanf("%d",&n); while(k<n) { k=k*10+1; c++; } while(1) { if(k%n==0) { printf("%lld",k/n); break; } else { printf("%lld",k/n);原创 2020-10-24 21:49:35 · 104 阅读 · 0 评论 -
L1-045 宇宙无敌大招呼
#include <stdio.h>int main(){ char ch[7]; scanf("%s",&ch); printf("Hello %s",ch); return 0; }原创 2020-10-24 21:46:51 · 225 阅读 · 0 评论 -
L1-044 稳赢
注意使用strcmp(ch,s)函数,按字典序比较字符串#include <stdio.h>#include <string.h>int main(){ int n,k=0; char ch[10]; scanf("%d",&n); getchar(); while(1) { scanf("%s",ch); getchar(); if(strcmp(ch,"End")==0) break; k++; if(k==n+1) {原创 2020-10-24 21:46:06 · 116 阅读 · 0 评论 -
L1-043 阅览室
#include<iostream>using namespace std;int main(){ int n,count = 0,num,h,m,sumtime=0; char a; cin>>n; while (n--) { int time[1001] = {0}; int book[1001] = {0}; while (scanf("%d %c %d:%d",&num,&a,&h,&m)) { if原创 2020-10-24 21:44:07 · 88 阅读 · 0 评论 -
L1-042 日期格式化
#include<stdio.h>int main(){ int a,b,c; scanf("%d-%d-%d",&a,&b,&c); printf("%d-%02d-%02d\n",c,a,b); return 0;}原创 2020-10-24 14:18:25 · 90 阅读 · 0 评论 -
L1-041 寻找250
#include <stdio.h>int main(){ int a[100001],i=0; while(1) { scanf("%d",&a[i]); if(a[i]==250) { printf("%d",i+1); break; } i++; } return 0;}原创 2020-10-24 14:17:46 · 103 阅读 · 0 评论 -
L1-040 最佳情侣身高差
#include<stdio.h>int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) { double h,s; char e; scanf("\n%c %lf",&e,&h); if(e=='M') s=h/1.09; else if(e=='F') s=h*1原创 2020-10-24 14:13:13 · 110 阅读 · 0 评论 -
L1-039 古风排版
#include<stdio.h>#include<string.h>int main(){ char a[101][101],ch; int i,j,n,h=0,l=0; scanf("%d",&n); getchar(); while((ch=getchar())!='\n') { h+=l/n; l%=n; a[h][l++]=ch; } //输出原创 2020-10-24 14:10:37 · 98 阅读 · 0 评论 -
L1-038 新世界
#include <stdio.h>int main(){ printf("Hello World\nHello New World"); return 0; }原创 2020-10-23 20:33:15 · 106 阅读 · 0 评论 -
L1-037 A除以B
#include <stdio.h>int main(){ int a,b; scanf("%d %d",&a,&b); double c; if(b==0) printf("%d/%d=Error",a,b); else if(b<0) { c=a*1.0/b; printf("%d/(%d)=%.2lf",a,b,c); } else { c=a*1.0/b; printf("%d/%d=%.2lf",a,b,c); } r原创 2020-10-23 20:32:44 · 73 阅读 · 0 评论 -
L1-036 A乘以B
#include <stdio.h>int main(){ int a,b; scanf("%d %d",&a,&b); printf("%d",a*b); return 0; }原创 2020-10-23 20:31:48 · 88 阅读 · 0 评论 -
L1-035 情人节
解题思路:分三种情况输出:第一种:点赞的人数少于两人第二种:点赞的人数大于两人小于十四人第三种:点赞的人数大于十四人所以需要两个字符串分别来记录第二个人的姓名和第十四个人的姓名,还要一个整数来记录点赞的人数注意:比较字符串是否相同使用strcmp(ch,s) 赋值字符串strcpy(s,ch)#include <stdio.h>#include <string.h>int main(){ char ch[20],s1[20],s2[20]; int k原创 2020-10-23 20:30:21 · 110 阅读 · 0 评论 -
L1-034 点赞
解题思路:1.定义一个比较大的数组,初始化为0,用来存储输入的编号2.再定义一个数组用来存储编号的个数,遍历第一个数组,第二个数组以编号为数组下标,记录每个编号的个数,这里就会产生一个问题,因为我是从第一个开始遍历,倘若这个编号只出现了依次,那么我的第二个数组的值就还是0,并没有记录这个数3.所以就会产生了两种情况,第一种就是每个编号全都只出现了一次,那么我的第二个数组的值就全部为0.第二种情况就是那些出现了两次及以上的编号,找最大值就行了,注意最后输出的个数+1就行了#include原创 2020-10-23 20:25:12 · 95 阅读 · 0 评论 -
L1-033 出生年
解题思路:对年份四个数字进行拆分(位数较少比较方便),记录不同的数字有多少个,再与题目要求的位数进行比较,如果相等,则进行输出.其实好多题不是很难,只要清楚题目的要求并一步一步去解决就行,刚开始的话就不要想代码复不复杂的事,先做好最基本的,其次再考虑提高.#include <stdio.h>int main(){ int y,k,c=0,i; scanf("%d %d",&y,&k); for(i=y;i<=5000;i++) { int co原创 2020-10-23 17:15:46 · 73 阅读 · 0 评论 -
L1-032 Left-pad
#include <stdio.h>#include <string.h>int main(){ int n,len; char ch[100001],s; scanf("%d %c",&n,&s); getchar(); gets(ch); len=strlen(ch); if(n>len) { for(int i=0;i<n-len;i++) printf("%c",s); printf("%s",ch);原创 2020-10-23 16:13:32 · 70 阅读 · 0 评论 -
L1-031 到底是不是太胖了
注意:浮点型的绝对值用fabs()函数#include <stdio.h>#include <math.h>int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) { int h,w; double s; scanf("%d%d",&h,&w); s=(h-100)*0.9*2;原创 2020-10-23 16:11:59 · 110 阅读 · 0 评论 -
L1-030 一帮一
解题思路:1.定义一个结构体存储每个学生的性别和姓名2.分两步,以n/2为界限,大于等于n/2为成绩差的,倒叙;小于n/2为成绩好的,顺序.3.为了区分成绩差的学生是否已经输出过了,可以令其性别值为-1,代表已经输出过了#include <stdio.h>struct st{ int se; char na[10];}N[100];int main(){ int n; scanf("%d",&n); for(int i=0;i<n;i++) sc原创 2020-10-22 20:53:56 · 147 阅读 · 0 评论 -
L1-029 是不是太胖了
#include <stdio.h>int main(){ int n; scanf("%d",&n); double k; k=(n-100)*0.9*2; printf("%.1f",k); return 0;}原创 2020-10-22 20:15:34 · 167 阅读 · 0 评论 -
L1-028 判断素数
#include <stdio.h>#include <math.h>int pdss(int a){ int k=1,i; if(a<=1) k=0; if(a>=2) { for(i=2;i<sqrt(a);i++) { if(a%i==0) { k=0; break; } k=1; } } return k;}int main(){ int n,a,i; scanf("%d",原创 2020-10-22 20:15:00 · 112 阅读 · 0 评论 -
L1-027 出租
解题思路:1.输入电话号码,对电话号码进行拆分 int a[10]={0};2.把a的值从大到小赋给b,在输出b3.依次遍历电话号码和b,遇到相等则输出位置#include <stdio.h>int main(){ char te[12]; int a[10]={0},b[10]={0},k=0; scanf("%s",te); for(int i=0;i<11;i++) a[te[i]-'0']++; for(int i=9;i>=0;i--) {原创 2020-10-22 20:13:54 · 110 阅读 · 0 评论 -
L1-025 正整数A+B
解题思路:1.定义一个把字符串转换为数字的函数,利用这个函数可以剔除那些除纯数字外的任何输入,并且可以找出符合区间的数2.对于两个字符串的输入要注意,我的也是参考另外一位博主来写的3.输出:分三种情况输出即可#include<stdio.h>int co(char *str){ int sum=0; //判断输入的是不是只有数字,并且将字符串转换为数字 for(int i=0;str[i]!='\0';i++) { if(str原创 2020-10-22 18:08:20 · 126 阅读 · 0 评论 -
L1-026 I Love GPLT
#include <stdio.h>int main(){ printf("I\n \nL\no\nv\ne\n \nG\nP\nL\nT\n"); return 0; }原创 2020-10-22 16:17:08 · 91 阅读 · 0 评论