qq_420137013 2020-04-07 09:29 采纳率: 100%
浏览 185
已采纳

c++编程解决问题,麻烦注释一下代码,搞不懂啥意思?

题目描述
这是人类历史上最奇怪的一天,空气中充满了冷风、热风和暖风!每个风用一个数字表示其温度,大于35的为热风,小于15的为冷风,除此之外为暖风。小李就在这天骑车上路,被这些奇怪的风各种乱吹!

如果,小李刚被冷风吹又被热风吹或者小李刚被热风吹又被冷风吹,小李会发出“啊”的一声,并且累积一次不舒服状态。

如果小李连续三次被暖风吹,会治愈之前累积的一次不舒服状态。

请计算输出小李一共发出了几声“啊”,以及小李最终累积了多少次不舒服状态。

输入
一行若干个非负整数(不超过60),表示连续遇到的每个风的温度数值。最后一个是负整数,表示结束,不参与题意计算。这一行的所有数值个数不超过100。

输出
两个非负整数,表示答案。

样例输入
15 30 12 36 11 20 19 17 16 18 38 -1
样例输出
2 1
提示
样例解释:

15 30 12 36(啊) 11 (啊) 20 19 17(愈) 16 18 38 -1
我的代码,求改错
#include
using namespace std;
int main(){
int a[100],no=0,i=0,aa=0,uc=0;
do{
cin>>a[i];
if(a[i] if((a[i]35)||(a[i]>35&&a[i-1]=1) aa++,uc++;
if((a[i]>=15&&a[i]<=35)&&(a[i-1]>=15&&a[i-1]<=35)&&(a[i-2]>=15&&a[i-2]<=35)&&(uc>0&&i>=2)&&(i-1!=no&&i-2!=no)) uc--,no=i;
i++;
}while(a[i]>=0);
cout<<aa<<" "<<uc;
return 0;
}

  • 写回答

1条回答 默认 最新

  • 小学狗喵喵叫 2020-04-07 18:03
    关注
    int main()
    {
        int a[100], i = 0, aa = 0, uc = 0, nuanfeng=0;
        while (true) {
            cin >> a[i];
            if (a[i++] < 0)
                break;
        };
        i = 1;
        while (a[i] > 0)
        {
            if (a[i] > 35 && a[i - 1] < 15 || a[i] < 15 && a[i - 1]>35)
            {
                aa++;
                uc++;
            }
            if (a[i] > 35 || a[i] < 15)
            {
                nuanfeng = 0;
            }
            else if (a[i] >= 15 && a[i] <= 35)
            {
                nuanfeng++;
            }
            if (nuanfeng >= 3 && uc>0)
            {
                uc--;
                nuanfeng = 0;
            }
            i++;
        }
        cout << aa << " " << uc;
        return 0;
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效