2021-2022-2-第1次单元练习//Pintia
一个简单的说明
主要以记录题目,分享源码为主
顺带记录做题心路历程
太久没有做题了,手生了,难免犯一些低级错误
最后,顺便对我的后续练习起到一个规划的作用
7-1 简单题 (10 分)
题面
这次真的没骗你 —— 这道超级简单的题目没有任何输入。
你只需要在一行中输出事实:This is a simple problem. 就可以了。
C++源码
#include<cstdio>
int main(){
printf("This is a simple problem.");
return 0;
}
7-2 A乘以B (10 分)
题面
看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值。
输入格式:
输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。
输出格式:
在一行中输出A乘以B的值。
输入样例:
-8 13
输出样例:
-104
C++源码
#include<cstdio>
int a,b;
inline int read(){
int f=1,s=0;
char k=getchar();
while(k>'9'||k<'0'){if(k=='-')f=-1,k=getchar();}
while(k>='0'&&k<='9'){s=(s<<3)+(s<<1)+k-'0';k=getchar();}
return f*s;
}
int main(){
a=read(),b=read();
printf("%d",a*b);
return 0;
}
7-3 猫是液体 (10 分)
题面
测量一个人的体积是很难的,但猫就不一样了。因为猫是液体,所以可以很容易地通过测量一个长方体容器的容积来得到容器里猫的体积。本题就请你完成这个计算。
输入格式:
输入在第一行中给出 3 个不超过 100 的正整数,分别对应容器的长、宽、高。
输出格式:
在一行中输出猫的体积。
输入样例:
23 15 20
输出样例:
6900
C++源码
#include<cstdio>
int a,b,c;
inline int read(){
int f=1,s=0;
char k=getchar();
while(k>'9'||k<'0'){if(k=='-')f=-1,k=getchar();}
while(k>='0'&&k<='9'){s=(s<<3)+(s<<1)+k-'0';k=getchar();}
return f*s;
}
int main(){
a=read(),b=read(),c=read();
printf("%d",a*b*c);
return 0;
}
7-4 两小时学完C语言 (10 分)
题面
知乎上有个宝宝问:“两个小时内如何学完 C 语言?”当然,问的是“学完”并不是“学会”。
假设一本 C 语言教科书有 N 个字,这个宝宝每分钟能看 K 个字,看了 M 分钟。还剩多少字没有看?
输入格式:
输入在一行中给出 3 个正整数,分别是 N(不超过 400 000),教科书的总字数;K(不超过 3 000),是宝宝每分钟能看的字数;M(不超过 120),是宝宝看书的分钟数。
题目保证宝宝看完的字数不超过 N。
输出格式:
在一行中输出宝宝还没有看的字数。
输入样例:
100000 1000 72
输出样例:
28000
C++源码
#include<cstdio>
int n,k,m;
inline int read(){
int f=1,s=0;
char k=getchar();
while(k>'9'||k<'0'){if(k=='-')f=-1,k=getchar();}
while(k>='0'&&k<='9'){s=(s<<3)+(s<<1)+k-'0';k=getchar();}
return f*s;
}
int main(){
n=read(),k=read(),m=read();
printf("%d",n-(k*m));
return 0;
}
7-5 日期格式化 (10 分)
题面
世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。
输入格式:
输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。
输出格式:
在一行中按照“yyyy-mm-dd”的格式给出年、月、日。
输入样例:
03-15-2017
输出样例:
2017-03-15
C++源码
#include<cstdio>
#include<cstring>
inline int read(){
int f=1,s=0;
char k=getchar();
while(k>'9'||k<'0'){if(k=='-')f=-1,k=getchar();}
while(k>='0'&&k<='9'){s=(s<<3)+(s<<1)+k-'0';k=getchar();}
return f*s;
}
//mm-dd-yyyy
char ins[11];
int main(){
scanf("%s",ins);
printf("%c%C%c%c-%c%c-%c%c",ins[6],ins[7],ins[8],ins[9],ins[0],ins[1],ins[3],ins[4]);
return 0;
}
源码注释
读入月日年字符串,然后输出字符拼凑出目标串
关于源码中read()函数的说明
read()函数为自行定义的一个快速读入整数的函数,不熟悉快读的朋友可以自行改为scanf()语句。