题目三:捉老鼠啊,亏了还是赚了
实验代码
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char ch;
int income=0;
int unhappy, sad, glad;
unhappy = sad = glad = 0;
while( (ch=getchar())!='$' ){
if(glad>0)
{
glad--;
if(sad>0) sad--;
if(unhappy>0) unhappy--;
}
else{
if(sad>0&&unhappy==0){
sad--;
putchar('-');
continue;
}
else if(unhappy>0&&sad==0){
unhappy--;
putchar('-');
continue;
}
else if(sad>0&&unhappy>0)
{
sad--;
unhappy--;
putchar('-');
continue;
}
}
if(ch=='T'){
putchar('D');
income += 7;
sad = 2;
}
else if(ch=='C'){
putchar('!');
income -= 3;
glad = 2;
}
else{
putchar('U');
unhappy = 1;
}
}
printf("\n%d\n",income);
return 0;
}
设计思路:定义变量,天数多要用到while语句,要注意老鼠伤心期和高兴期,还要注意分三种情况,然后分情况计算成本利润,最后根据输出结果是负的还是正的看出捉老鼠亏了还是赚了
遇到的问题:编译错误
解决方法:看助教群发的那个这题的解析