当前位置: 首页 > 工具软件 > 天梯 > 使用案例 >

2021年天梯赛总决赛(个人持续更新中~~~)

曹育
2023-12-01

本文: 原创链接

                ***2021年天梯总决赛***``
                   L1-1 人与神 (5 分)
   跨界大神 L. Peter Deutsch 有一句名言:“To iterate is human, to recurse divine.”(迭代的是人,递归的是神)。
 本题就请你直接在屏幕上输出这句话。
 输入格式:本题没有输入。
 输出格式:在一行中输出 To iterate is human, to recurse divine.。
 输入样例:
 无输出样例:To iterate is human, to recurse divine.

参考答案:

#include<stdio.h>
int main(){     
   printf("To iterate is human, to recurse divine.\n");             
   return 0;
}
#include<bits/stdc++.h>
using namespace std;int main(){  
  cout<<"To iterate is human, to recurse divine.\n";    //或   
  cout<<"To iterate is human, to recurse divine."; 
    
  return 0;
}

                  L1-2 两小时学完C语言 (5 )
Q.JPG知乎上有个宝宝问:“两个小时内如何学完 C 语言?”当然,问的是“学完”并不是“学会”。
假设一本 C 语言教科书有 N 个字,这个宝宝每分钟能看 K 个字,看了 M 分钟。还剩多少字没有看?输入格式:
输入在一行中给出 3 个正整数,分别是 N(不超过 400 000),教科书的总字数;K(不超过 3 000),是宝宝每分钟能看的字数;M(不超过 120),是宝宝看书的分钟数。题目保证宝宝看完的字数不超过 N。
输出格式:在一行中输出宝宝还没有看的字数。
输入样例:100000 1000 72
输出样例:28000
参考答案:
C
#include<stdio.h>int main(){  
  int n,m,k;    scanf("%d%d%d",&n,&m,&k);    
  printf("%d\n",n-k*m);  
    return 0;
    }
C++
#include<bits/stdc++.h>
using namespace std;
int main(){    
long long x,y,z;  
  cin>>x>>y>>z;   
  cout<<x-y*z;   
  return 0;
 }


                          L1-3 强迫症 (10 分)
  1小强在统计一个小区里居民的出生年月,但是发现大家填写的生日格式不统一,例如有的人写 199808,有的人只写 9808。
  有强迫症的小强请你写个程序,把所有人的出生年月都整理成 年年年年-月月 格式。对于那些只写了年份后两位的信息,我们默认小于 22 都是 20 开头的,其他都是 19 开头的。
  输入格式:输入在一行中给出一个出生年月,为一个 6 位或者 4 位数,题目保证是 1000 年 1 月到 2021 年 12 月之间的合法年月。
  输出格式:在一行中按标准格式 年年年年-月月 将输入的信息整理输出。

  输入样例 1:9808
  输出样例 1:1998-08
  输入样例 2:0510
  输出样例 2:2005-10
  输入样例 3:196711
  输出样例 3:1967-11
  参考答案:
  C++

  #include<bits/stdc++.h>//10分
  using namespace std;
  int main(){    
  int a;    
  cin>>a;//          右对齐  右对齐  
    if(a>9999)  
     printf("%04d-%02d",a/100,a%100);//全输入,格式控制输出    
     else{      
                 if(a/100<22) cout<<20;        
     else cout<<19;//补齐前两位        
     printf("%02d-%02d",a/100,a%100);//控制格式输出   
       }      
        return 0;  
         }     

C

#include<stdio.h>//7分  
#include<string.h>  
  int main(){      
   char a[8]={'0'};      
    scanf("%s",a);      
     int b,c,len;     
       len=strlen(a);      
         if(len==4||len==5){        
                b=(a[0]-'0')*10+(a[1]-'0');                 
                c=(a[2]-'0')*10+(a[3]-'0');                  
                if(b<22) printf("20%d-%02d",b,c);                   
                else{                   
                     printf("19%d-%02d",b,c);                     
                     }            
                         }else{                      
                         printf("%c%c%c%c-
                 %c%c",a[0],a[1],a[2],a[3],a[4],a[5]);                      
                 }                         
                    return 0; 
                       }

C



 #include<stdio.hC//10分   
  int main(){        
   int a;       
      scanf("%d",&a);     
           if(a>9999)        
                 printf("%04d-%02d",a/100,a%100);//全输入,格式控制输出              
                    else{                    
                      if(a/100<22)                           
                      printf("20");                                 
                      else printf("19");//补齐前两位        
                      printf("%02d-
                      %02d",a/100,a%100);//控制格式输出     }       
                      return 0;  
                        
                          }
              L1-4 降价提醒机器人 (10 分)
      1小 T 想买一个玩具很久了,但价格有些高,他打算等便宜些再买。但天天盯着购物网站很麻烦,请你帮小 T 写一个降价提醒机器人,当玩具的当前价格比他设定的价格便宜时发出提醒。
      输入格式:输入第一行是两个正整数 N 和 M (1≤N≤100,0≤M≤1000),表示有 N 条价格记录,小 T 设置的价格为 M。接下来 N 行,每行有一个实数 P​i​​ (−1000.0<P​i​​ <1000.0),表示一条价格记录。
      输出格式:对每一条比设定价格 M 便宜的价格记录 P,在一行中输出 On Sale! P,其中 P 输出到小数点后 1 位。

输入样例:4 9998.097.0100.298.9
输出样例:On Sale! 98.0On Sale! 97.0On Sale! 98.9
     参考答案:

C


#include<stdio.h>//10分
int main(){    
int a,i,b;    
float w;    
scanf("%d%d",&a,&b);    
for(i=0;i<a;i++)   
 {        
       scanf("%f",&w);       
        if(w<b*1.0)         
       printf("On Sale! %.1f\n",w);  
         }   
          return 0;
          }

C++


#include<bits/stdc++.h>//10分
using namespace std;
int main(){ 
   int a,b;    
   float w;// 或用double    
   cin>>a>>b;    
   while(a--){     
      cin>>w;       
       if(b*1.0>w)          
         printf("On Sale! %.1f\n",w);   
                  }      
                    return 0;
     }

#include<stdio.h>

int main()
{
int i, j=2, x;
int a1, a2, n;
scanf("%d%d%d", &a1, &a2, &n);
int a[n];
a[0] = a1, a[1] = a2;
for(i=1;i<n;i++)
{
x = a[i] * a[i-1];
if(x/10 != 0)
a[j]=x/10, a[j+1]=x%10, j+=2;
else
a[j] = x, j++;
if(j>=n)
break;
}
for(i=0;i<n;i++)
(i==0) ? printf("%d", a[i]) : printf("\x20%d", a[i]);
return 0;
}


 类似资料: