题目都很简单,感觉难度甚至不如青铜卷~
7-1 日期格式化 (5 分)
世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。
输入格式:
输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。
输出格式:
在一行中按照“yyyy-mm-dd”的格式给出年、月、日。
输入样例:
03-15-2017
输出样例:
2017-03-15
代码:
#include<iostream>
using namespace std;
int main(){
string str;
cin>>str;
for(int i=6;i<=9;i++)
cout<<str[i];
cout<<"-";
for(int i=0;i<=4;i++)
cout<<str[i];
return 0;
}
7-2 是不是太胖了 (5 分)
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)
输入格式:
输入第一行给出一个正整数H
(100 < H ≤ 300),为某人身高。
输出格式:
在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。
输入样例:
169
输出样例:
124.2
代码:
#include<iostream>
using namespace std;
int main(){
int h;
double w=0.0;
cin>>h;
w=(h-100)*0.9*2;
printf("%.1lf",w);
return 0;
}
7-3 A除以B (10 分)
真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。
输入格式:
输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。
输出格式:
在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error
。输出的商应保留小数点后2位。
输入样例1:
-1 2
输出样例1:
-1/2=-0.50
输入样例2:
1 -3
输出样例2:
1/(-3)=-0.33
输入样例3:
5 0
输出样例3:
5/0=Error
代码:
#include<iostream>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
if(b<0)
printf("%d/(%d)=%.2lf",a,b,(double)a/b);
else if(b==0)
printf("%d/0=Error",a);
else
printf("%d/%d=%.2lf",a,b,(double)a/b);
return 0;
}
7-4 装睡 (10 分)
你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏,请你找出他们中间有可能在装睡的人,即至少一项指标不在正常范围内的人。
输入格式:
输入在第一行给出一个正整数N(≤10)。随后N行,每行给出一个人的名字(仅由英文字母组成的、长度不超过3个字符的串)、其呼吸频率和脉搏(均为不超过100的正整数)。
输出格式:
按照输入顺序检查每个人,如果其至少一项指标不在正常范围内,则输出其名字,每个名字占一行。
输入样例:
4
Amy 15 70
Tom 14 60
Joe 18 50
Zoe 21 71
输出样例:
Tom
Zoe
代码:
#include<iostream>
using namespace std;
int main(){
int n,t1,t2;
string name;
cin>>n;
for(int i=0;i<n;i++){
cin>>name>>t1>>t2;
if(t1<15||t1>20||t2<50||t2>70)
cout<<name<<endl;
}
return 0;
}
7-5 电子汪 (10 分)
据说汪星人的智商能达到人类 4 岁儿童的水平,更有些聪明汪会做加法计算。比如你在地上放两堆小球,分别有 1 只球和 2 只球,聪明汪就会用“汪!汪!汪!”表示 1 加 2 的结果是 3。
本题要求你为电子宠物汪做一个模拟程序,根据电子眼识别出的两堆小球的个数,计算出和,并且用汪星人的叫声给出答案。
输入格式:
输入在一行中给出两个 [1, 9] 区间内的正整数 A 和 B,用空格分隔。
输出格式:
在一行中输出 A + B 个Wang!
。
输入样例:
2 1
输出样例:
Wang!Wang!Wang!
代码:
#include<iostream>
using namespace std;
int main(){
int a,b,cnt;
cin>>a>>b;
cnt=a+b;
for(int i=1;i<=cnt;i++)
cout<<"Wang!";
return 0;
}
7-6 到底是不是太胖了 (10 分)
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重 − 标准体重 | < 标准体重×10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。
输入格式:
输入第一行给出一个正整数N
(≤ 20)。随后N
行,每行给出两个整数,分别是一个人的身高H
(120 < H < 200;单位:厘米)和真实体重W
(50 < W ≤ 300;单位:市斤),其间以空格分隔。
输出格式:
为每个人输出一行结论:如果是完美身材,输出You are wan mei!
;如果太胖了,输出You are tai pang le!
;否则输出You are tai shou le!
。
输入样例:
3
169 136
150 81
178 155
输出样例:
You are wan mei!
You are tai shou le!
You are tai pang le!
代码:
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int n,h,w;
cin>>n;
double ws=0.0,cha=0.0;
for(int i=1;i<=n;i++){
cin>>h>>w;
ws=(h-100)*0.9*2;
cha=w-ws;
if(cha>0){
if(cha<ws*0.1) cout<<"You are wan mei!"<<endl;
else cout<<"You are tai pang le!"<<endl;
}else{
cha=-1*cha;
if(cha<ws*0.1) cout<<"You are wan mei!"<<endl;
else cout<<"You are tai shou le!"<<endl;
}
}
return 0;
}
有点过于简单了,后悔买了。