简单模拟
标签: 简单模拟
学习人数: 49.3k


高清播放
赞赏支持

在考研机试中,有一类很常见的题型叫做简单模拟。顾名思义,就是不需要去考虑什么算法,直接按照题目的意思进行模拟计算就行。

促销计算
题目描述:
某百货公司为了促销,采用购物打折的优惠方法,每位顾客一次购物:在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 利润提成


登录后开始许愿

4 条上岸许愿
18786808647
2024年1月4日 10:32

#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);

}

 

赞(0)
Double
2021年3月24日 19:07

  1. #include <bits/stdc++.h>//万能头文件  
  2. using namespace std;  
  3.   
  4. int main() {  
  5.     double a;  
  6.     scanf("%lf", &a);  
  7.     //使用%g可以自动去掉小数点后多余的0 如果是整数则显示整数  
  8.     if (a < 1000) printf("discount=1,pay=%g\n", a);  
  9.     if (a >= 1000 && a < 2000) printf("discount=0.95,pay=%g\n", a*0.95);  
  10.     if (a >= 2000 && a < 3000) printf("discount=0.9,pay=%g\n", a*0.9);  
  11.     if (a >= 3000 && a < 5000) printf("discount=0.85,pay=%g\n", a*0.85);  
  12.     if (a >= 5000) printf("discount=0.8,pay=%g\n", a*0.8);  
  13.     return 0;  
  14. }

赞(0)
bit8421
2021年1月8日 10:22

注意细节,检测边界值。

赞(0)
森哥
2021年1月3日 21:11

#include<stdio.h>

int main()

{

printf("5\n");

}

 

 

赞(0)