P1085题解

发布时间 2024-01-10 14:21:15作者: Rayliuliu

思路

1.定义校内时间/校外时间/最大值 (记录不高兴值) /记录星期

int n,m,maxx=-1,tmp;

2.使用循环输入并判断

for(int i=1;i<=7;i++){//循环一周的日期
   cin>>n>>m;
   if(n+m>8 && maxx<n+m){//如果津津不高兴了且它比以往的值都大
      maxx=n+m;//更改最大值
      tmp=i;//记录日期
   }
}

3.输出

if(maxx==-1){//如果最大值没有被更改
   cout<<0;//输出'0'
}
else{
   cout<<tmp;//否则输出记录的日期
}

或者用(?:)三目运算符

cout<<(maxx==-1?0:tmp);

至此,这道题就做完了。完整代码看下面。

完整代码

#include<iostream>
using namespace std;
int main(){
    int n,m,maxx=-1,tmp;
    for(int i=1;i<=7;i++){
        cin>>n>>m;
        if(n+m>8 && maxx<n+m){
            maxx=n+m;
            tmp=i;
        }
    }
    cout<<(maxx==-1?0:tmp);
    return 0;
}