天梯赛总结(5分)
输入输出
L1-001 Hello World (5 分)
这道超级简单的题目没有任何输入。你只需要在一行中输出著名短句“Hello World!”就可以了。
输入样例:
无
输出样例:
Hello World!
#include<bits/stdc++.h>
using namespace std;
int main()
{
cout<<"Hello World!";
return 0;
}
L1-014 简单题 (5 分)
这次真的没骗你 —— 这道超级简单的题目没有任何输入。你只需要在一行中输出事实:This is a simple problem. 就可以了。
输入样例:
无
输出样例:
This is a simple problem.
#include<stdio.h>
int main()
{
printf("This is a simple problem.");
return 0;
}
L1-021 重要的话说三遍 (5 分)
这道超级简单的题目没有任何输入。你只需要把这句很重要的话 —— “I’m gonna WIN!”——连续输出三遍就可以了。注意每遍占一行,除了每行的回车不能有任何多余字符。
输入样例:
无
输出样例:
I’m gonna WIN!
I’m gonna WIN!
I’m gonna WIN!
#include<stdio.h>
int main()
{
int i;
for(i=0;i<3;i++)
printf("I'm gonna WIN!\n");
return 0;
}
总结
- 用for循环进行输出。
- 也可以直接用三个printf输出
L1-026 I Love GPLT (5 分)
这道超级简单的题目没有任何输入。你只需要把这句很重要的话 —— “I Love GPLT”——竖着输出就可以了。所谓“竖着输出”,是指每个字符占一行(包括空格),即每行只能有1个字符和回车。
输入样例:
无
输出样例:
I
L
o
v
e
G
P
L
T
#include<stdio.h>
#include<string.h>
int main()
{
int i;
char a[12]="I Love GPLT";
for(i=0;i<11;i++)
{
printf("%c\n",a[i]);
}
return 0;
}
总结
- 用字符串把存储起来,然后依次输出,输出一个换行一次,最后一个字母不换行,之前数错字母,数乘10,而实际是11个,导致没有通过。
- 这个也可以用string存储。
L1-038 新世界 (5 分)
这道超级简单的题目没有任何输入。你只需要在第一行中输出程序员钦定名言“Hello World”,并且在第二行中输出更新版的“Hello New World”就可以了。
输入样例:
无
输出样例:
Hello World
Hello New World
#include<stdio.h>
int main()
{
printf("Hello World\n");
printf("Hello New World");
return 0;
}
总结
- 简单的输出
L1-1 PTA使我精神焕发 (5分)
以上是湖北经济学院同学的大作。本题就请你用汉语拼音输出这句话。
输入格式:
本题没有输入。
输出格式:
在一行中按照样例输出,以惊叹号结尾。
输入样例:
无
输出样例:
PTA shi3 wo3 jing1 shen2 huan4 fa1 !
#include <bits/stdc++.h>
using namespace std;
int main(){
cout << "PTA shi3 wo3 jing1 shen2 huan4 fa1 !" <<endl;
return 0;
}
L1-042 日期格式化 (5 分)
世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。
输入格式:
输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。
输出格式:
在一行中按照“yyyy-mm-dd”的格式给出年、月、日。
输入样例:
03-15-2017
输出样例:
2017-03-15
#include<bits/stdc++.h>
using namespace std;
int main()
{
int A[3];
int a,b,c;
char e;
scanf("%d%c%d%c%d",&a,&e,&b,&e,&c);
printf("%d-%02d-%02d\n",c,a,b);//注意输出的格式
return 0;
}
总结
- 输入进去的时间后面倒着输出来就可以。
L1-045 宇宙无敌大招呼 (5 分)
据说所有程序员学习的第一个程序都是在屏幕上输出一句“Hello World”,跟这个世界打个招呼。作为天梯赛中的程序员,你写的程序得高级一点,要能跟任意指定的星球打招呼。
输入格式:
输入在第一行给出一个星球的名字S,是一个由不超过7个英文字母组成的单词,以回车结束。
输出格式:
在一行中输出Hello S,跟输入的S星球打个招呼。
输入样例:
Mars
输出样例:
Hello Mars
#include<stdio.h>
int main()
{
char ch[8];
scanf("%s",ch);
printf("Hello %s",ch);
return 0;
}
总结
- 可以使用string,在C++中。
string s;
cin >> s;
L1-052 2018我们要赢 (5 分)
2018年天梯赛的注册邀请码是“2018wmyy”,意思就是“2018我们要赢”。本题就请你用汉语拼音输出这句话。
输入格式:
本题没有输入。
输出格式:
在第一行中输出:“2018”;
第二行中输出:“wo3 men2 yao4 ying2 !”。
输入样例:
无
输出样例:
2018
wo3 men2 yao4 ying2 !
#include<stdio.h>
int main()
{
printf("2018\n");
printf("wo3 men2 yao4 ying2 !\n");
}
简单计算
L1-004 计算摄氏温度 (5 分)
给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出一个华氏温度。
输出格式:
在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。
输入样例:
150
输出样例:
Celsius = 65
#include <stdio.h>
#include<math.h>
int main()
{
int m, n;
scanf("%d",&n);
m=5*(n-32)/9;
printf("Celsius = %d\n",m);
return 0;
}
总结
- 输入一个数直接运用公式算
- 可以在printf(),里面带入公式。
类似的题
7-41 摄氏温度转换华氏温度 (5 分)
温度刻画存在不同体系,摄氏度以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画。华氏度以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画。
根据华氏和摄氏温度定义,转换公式如下:
C = ( F – 32 ) / 1.8
F = C * 1.8 + 32
输入格式:
一个不带小数点的数字,表示设摄氏温度。
输出格式:
一个表示华氏温度的数字。请直接采用print()输出计算结果,不需要对输出格式做处理。
输入样例:
36
输出样例:
96.8
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d",&n);
printf("%.1f",n * 1.8 + 32);
return 0;
}
总结
- 当时这个题自己都没有做出来,把想得太复杂啦,这个题是简单的计算然后输出就可以。只不过在输出的时候需要处理一下,虽然题目说不用处理,一切都是骗人的。
L1-012 计算指数 (5 分)
真的没骗你,这道才是简单题 —— 对任意给定的不超过 10 的正整数 n,要求你输出 2n。不难吧?
输入格式:
输入在一行中给出一个不超过 10 的正整数 n。
输出格式:
在一行中按照格式 2^n = 计算结果 输出 2n 的值。
输入样例:
5
输出样例:
2^5 = 32
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,s=1;
scanf("%d",&n);
//cout<<pow(2,n)<<endl;
printf("2^%d = %.0f",n,pow(2,n));
return 0;
}
总结
- 可以用while循环计算出阶乘。
- 也可以直接2调用用pow()函数计算阶乘。
L1-024 后天 (5 分)
如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。
输入格式:
输入第一行给出一个正整数D(1 ≤ D ≤ 7),代表星期里的某一天。
输出格式:
在一行中输出D天的后天是星期几。
输入样例:
3
输出样例:
5
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
int b = ((n + 2) > 7) ? (n - 5) : (n + 2);
cout << b;
return 0;
}
总结
- 这个之前一直得不了5分,对于星期六和星期天没有处理好,还有就是星期五那儿一直没有注意是等于:
f( n < 5)
cout <<n +2<<endl
else
cout<<(n+ 2) %7<<endl;
//这个代码对于后面的没有处理好
int b = ((n + 2) > 7) ? (n - 5) : (n + 2);
等价于
int b = ((n + 2) > 7) ;
if( b > 7 )
cout << (n -5) <<endl;
else
cout<<(n -2)<<endl;
L1-029 是不是太胖了 (5 分)
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)
输入格式:
输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。
输出格式:
在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。
输入样例:
169
输出样例:
124.2
#include<stdio.h>
int main()
{
float sg,js;
scanf("%f",&sg);
js=(sg-100)*0.9*2;
printf("%0.1f",js);
return 0;
}
L1-036 A乘以B (5 分)
看我没骗你吧 —— 这是一道你可以在 10 秒内完成的题:给定两个绝对值不超过 100 的整数 A 和 B,输出 A 乘以 B 的值。
输入格式:
输入在第一行给出两个整数 A 和 B(−100≤A,B≤100),数字间以空格分隔。
输出格式:
在一行中输出 A 乘以 B 的值。
输入样例:
-8 13
输出样例:
-104
#include<stdio.h>
int main()
{
int m,n,k;
scanf("%d%d",&m,&n);
k=m*n;
printf("%d",k);
}
总结
- 计算两个数加法
L1-051 打折 (5 分)
去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情。例如原价 ¥988,标明打 7 折,则折扣价应该是 ¥988 x 70% = ¥691.60。本题就请你写个程序替客户计算折扣价。
输入格式:
输入在一行中给出商品的原价(不超过1万元的正整数)和折扣(为[1, 9]区间内的整数),其间以空格分隔。
输出格式:
在一行中输出商品的折扣价,保留小数点后 2 位。
输入样例:
988 7
输出样例:
691.60
#include<bits/stdc++.h>
using namespace std;
int main()
{
float n, m;
cin >> n >>m;
printf("%.2f",(n * m) /10);
return 0;
}
L1-4 心理阴影面积 (5 分)![edf3bb01a7c2273eaecc2d30f45130dd.jpeg]()
这是一幅心理阴影面积图。我们都以为自己可以匀速前进(图中蓝色直线),而拖延症晚期的我们往往执行的是最后时刻的疯狂赶工(图中的红色折线)。由红、蓝线围出的面积,就是我们在做作业时的心理阴影面积。现给出红色拐点的坐标 (x,y),要求你算出这个心理阴影面积。
输入格式:
输入在一行中给出 2 个不超过 100 的正整数 x 和 y,并且保证有 x>y。这里假设横、纵坐标的最大值(即截止日和最终完成度)都是 100。
输出格式:
在一行中输出心理阴影面积。友情提醒:三角形的面积 = 底边长 x 高 / 2;矩形面积 = 底边长 x 高。嫑想得太复杂,这是一道 5 分考减法的题……
输入样例:
90 10
输出样例:
4000
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, m;
cin >> n >>m;
cout << 5000 - 100 *(100 - n) / 2 - 100* m /2 <<endl;
return 0;
}