在考研机试中,有一类很常见的题型叫做简单模拟。顾名思义,就是不需要去考虑什么算法,直接按照题目的意思进行模拟计算就行。
促销计算
题目描述:
某百货公司为了促销,采用购物打折的优惠方法,每位顾客一次购物:在1000元以上者,按9.5折优惠;在2000以上者,按9折优惠;在3000以上者,按8.5折优惠;在5000以上者,按8折优惠;编写程序,购物款数,计算并输出优惠价。
输入样例#:
850
1230
5000
3560
输出样例#:
discount=1,pay=850
discount=0.95,pay=1168.5
discount=0.8,pay=4000
discount=0.85,pay=3026
题目来源:
DreamJudge 1091
解题分析:根据题目的意思,我们知道就是按照题意去进行打折优惠的计算,只需要判断输入的数值在哪个区间该用什么优惠去计算就好了。
参考代码
#include <bits/stdc++.h>//万能头文件
using namespace std;
int main() {
double a;
scanf("%lf", &a);
//使用%g可以自动去掉小数点后多余的0 如果是整数则显示整数
if (a < 1000) printf("discount=1,pay=%g\n", a);
if (a >= 1000 && a < 2000) printf("discount=0.95,pay=%g\n", a*0.95);
if (a >= 2000 && a < 3000) printf("discount=0.9,pay=%g\n", a*0.9);
if (a >= 3000 && a < 5000) printf("discount=0.85,pay=%g\n", a*0.85);
if (a >= 5000) printf("discount=0.8,pay=%g\n", a*0.8);
return 0;
}
题型总结
简单模拟这类题目在考试中很常见,属于送分签到的题目。所有的考生,注意了,这类题必须会做。
对于简单模拟这一类的题目,怎么去练习提高呢?
很简单,在DreamJudge上多做题就行了。那么要达到什么样的标准呢?
如果你想拿高分甚至满分,平时训练的时候,这类题尽量要在8分钟内解决。
如果你只是想拿个还不错的成绩,这类题AC的时间尽量不要超过15分钟,一定要记住,最坏情况不能超过20分钟,如果超过了,说明你平时做的题还是太少了。
在考试的过程中,大多数考生都会紧张,有些考生甚至会手抖,导致敲多某个字母,然后又调试半天,找半天错,会导致比平时解决同样难度的问题时长多一倍甚至更多,所以平时就要注意,做题千万不能太慢了,不然没有足够的时间来解决其他的题目哦。
练习题目
DreamJudge 1133 求1到n的和
DreamJudge 1043 计算Sn
DreamJudge 1040 利润提成
登录后开始许愿
#include <bits/stdc++.h>//万能头文件
using namespace std;
int main(){
int x=0;
int n,i;
scanf("d%",n);
for(i=1;i<=n;i++){
x+=i;}
printf("%d",x);
}
注意细节,检测边界值。
#include<stdio.h>
int main()
{
printf("5\n");
}