2018秋寒假作业6—PTA编程总结3
1.实验代码
7-1 抓老鼠啊~亏了还是赚了? (20 分)
某地老鼠成灾,现悬赏抓老鼠,每抓到一只奖励10元,于是开始跟老鼠斗智斗勇:每天在墙角可选择以下三个操作:放置一个带有一块奶酪的捕鼠夹(T),或者放置一块奶酪(C),或者什么也不放(X)。捕鼠夹可重复利用,不计成本,奶酪每块3元。
聪明的老鼠呢?它们每天可能会派出一只老鼠到墙角,看看墙角有啥:
若什么也没有(X),老鼠们就不高兴了(Unhappy),会有长达一天(也就是第二天)的不高兴期。在不高兴期间,不派出老鼠。不高兴期结束之后,派出老鼠。
若有捕鼠夹(T),这只老鼠被引诱吃掉奶酪并被打死(Dead),老鼠们会有长达两天(也就是第二和第三天)的伤心期。在伤心期间,不派出老鼠。伤心期结束之后,派出老鼠。在这种情况下,抓到1只老鼠可获得奖励10元,但同时也耗费了一块奶酪。注意,如果某一天放置了捕鼠夹但老鼠没有出现,则没有耗费奶酪。
若有奶酪(C),老鼠吃了奶酪会很开心(Happy!),会有长达两天(第二和第三天)的兴奋期。在兴奋期间,即使叠加了不高兴或者伤心,也必定派出老鼠。在这种情况下,没抓到老鼠,而且耗费了一块奶酪。注意,如果某一天放置了奶酪但老鼠没有出现,则奶酪可以下次再用,没有耗费。
现在给你连续几天的操作序列,且已知第一天肯定会派出老鼠,请判断老鼠每天的状态,并计算盈利。
输入格式:
输入在一行中给出连续的由C或T或X组成的不超过70个字符的字符串,以$结束。字符串中每个字符表示这一天的操作( 即X:什么都不放;T:放捕鼠夹;C:放奶酪)。题目保证至少有一天的操作输入。
输出格式:
要求在第一行输出连续的字符串,与输入相对应,给出老鼠的状态:
! 表示派出老鼠吃到奶酪
D 表示派出老鼠被打死
U 表示派出老鼠无所获
- 表示没有派出老鼠
第二行则应输出一个整数表示盈利。(如果有亏损,则是负数)
输入样例1:
TXXXXC$
输出样例1:
D--U-!
4
输入样例2:
CTTCCX$
输出样例2:
!DD--U
11
include<stdio.h>
int main()
{
int happy=0,sad=0,unhappy=0,a=0,b=0; //a为抓到老鼠的数,被老鼠吃到的奶酪数
char op;
while((op=getchar())!='$'){
if(sad&&!happy){
sad--;
printf("-");
}
else{
if(unhappy&&!happy){
unhappy--;
printf("-");
}
else{
if(happy) happy--;
switch(op)
{
case 'T':printf("D");a++;sad=2;break;
case 'C':printf("!");b++;happy=2;break;
case 'X':printf("U");unhappy=1;break;
}
}
}
}
printf("\n");
printf("%d",7a-3b);
return 0;
}
2.设计思路
输入 happy=0,sad=0,unhappy=0,a=0,b=0;
且a为抓到老鼠的数,被老鼠吃到的奶酪数
调用while语句和else if语句来进行情况的分类与判定
最后switch进行最后分类分析
3.本题调试过程碰到问题及解决办法
问题



解决方法
在编译器中进行编译,发现错误,但是本次错误比较多,只能一个一个细节的网上搜索。
4.使用PTA的截图

2018秋寒假作业6—PTA编程总结3的更多相关文章
- 2018秋寒假作业5—PTA编程总结2
1.实验代码: 7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌&qu ...
- 2018秋寒假作业4—PTA编程总结1
7-1 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个符 ...
- 2018秋寒假作业4——PTA编辑总结1
#include<stdio.h> #include<math.h> int main(void) { int n,i,j,p,m,ge,N,k; char op; ){ sc ...
- 2018秋寒假作业6- -PTA编程总结3
PTA3抓老鼠啊~亏了还是赚了?思路: 首先定义变量并初始化为零,然后用if-else语句判断其关系和计算奶酪数量及盈利情况.
- 2018秋寒假作业4- -PTA编程总结1
PTA1打印沙漏.打印沙漏中的“沙漏形状”,就是每行输出的奇数符号与各行符号中心对齐:相邻两行符号数相差2:符号数从大到小递减到1,再从小到大递增.在做的时候出了几次错,编译发先是几个小地方出错了.以 ...
- Q114寒假作业之割绳子
割绳子 TimeLimit:1000MS MemoryLimit:10000K 64-bit integer IO format:%lld Problem Description 已知有n条绳子,每 ...
- 网易云课堂_C++程序设计入门(下)_第10单元:月映千江未减明 – 模板_第10单元 - 单元作业:OJ编程 - 创建数组类模板
第10单元 - 单元作业:OJ编程 - 创建数组类模板 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提 ...
- 网易云课堂_C++程序设计入门(下)_第7单元:出入虽同趣,所向各有宜 – 文件输入和输出_第7单元 - 作业2:编程互评
第7单元 - 作业2:编程互评 查看帮助 返回 提交作业(剩余10天) 完成并提交作业 作业批改 互评训练 互评作业 自评作业 成绩公布 查看成绩 由于在线编程不支持 ...
- Luogu P2717 寒假作业(平衡树)
P2717 寒假作业 题意 题目背景 \(zzs\)和\(zzy\)正在被寒假作业折磨,然而他们有答案可以抄啊. 题目描述 他们共有\(n\)项寒假作业.\(zzy\)给每项寒假作业都定义了一个疲劳值 ...
随机推荐
- iOS利用xcodebuild命令自动打包方法
1,xcode项目先打包试一下可以打包成功 2,创建一plist导出文件 3,xcodebuild命令直接运行 导出文件内容: <?xml version="1.0" enc ...
- os模块(操作系统)
os.getcwd() #获取当前py工作路径 os.chdir("路径") #改变当前路径到指定路径 os.curdir #返回当前工作路径 os.pardir #返回当前路径上 ...
- DatePickerAndroid用法
一.代码/** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; import ...
- java2周来的一些心得和体会
1.首先,在开发的一开始,可以将绝大多数rest可能提交过来字段先抽离出来,做成一个基础类. 然后再继承这个类,这样做的好处是业务就被分开了,谁也不会影响到谁. 2.在maven当中,需要修改自己的类 ...
- spring cloud_1_mm_eureka
有的人不知道导什么包 什么版本好 可能教程版本十几根本不能用 这里建议直接用idea生成 避免麻烦 eureka-sever application.yml #注册中心端口 server: port: ...
- Golang中的函数
函数 在go语言中,函数的基本组成为:关键字func.函数名.参数列表.返回值.函数体和返回语句 函数的定义 定义一个最简单的加法函数 func Add(a int,b int)(ret int,er ...
- oracle中left join,right join,inner join的坑
本文主要是记录一下实际使用oracle中join查询遇到的坑 1.用到两张表,学生表和学年分数表,先建立 2.普通连接查询 INNER JOIN,查询每个学年有成绩的学生以及分数情况 LFET JOI ...
- 线性求第k大
快排变种. 快排每次只进行部分排序,进入左边或者右边或者当前mid就是答案. 据说期望值是O(n) 然后STL中的 nth_element也是用这个思想. #include <cstdio> ...
- ubuntu下编译小知识点
#改变编译器选项 SET(CMAKE_C_COMPILER"g++") #出现如下错误:添加C++11特性 #error: #error This file requires co ...
- python学习6---排序问题
1.对列表排序 一维列表: sorted():可用于任何可迭代对象,如数组.列表.字典等. sort():list.sort()返回None,这是因为sort在函数内部修改了list的值,当再次访问l ...