奇牛学院吧 关注:311贴子:1,135
  • 2回复贴,共1

PTA平台--连续上升问题

只看楼主收藏回复

如图

以下是我写的代码:
#include <iostream>
using namespace std;
int main() {
int n;
int maxDays = 0,days = 0;
int temp, tempx = -1;
bool flag = false;
cin >> n;
if (n >= 1 && n <= 1000000000) {
for (int i = 0; i < n; i++) {
cin >> temp;
if (temp < 0) {
return 0;
}
if (n == 1) {
maxDays = 1;
cout << maxDays << endl;
return 0;
}
if (temp > tempx) { //如果第一天气温大于第二天 统计1天
days++;
}
else {
if (days > maxDays) {
maxDays = days;//统计最大天数
}
days = 1;//如果小于则从这一天开始算作第一天
flag = true;
}
tempx = temp;//不论前一天和后一天谁大 都要将后一天温度保存 方便下一次比较
}
if (flag) {
cout << maxDays << endl;
}
else {
cout << days << endl;
}
}
return 0;
}
以下是测试结果

不知道哪里有问题 烦各位大佬们看看!


IP属地:浙江1楼2020-06-01 10:15回复
    改了版代码给你参考,自己对比理解下:
    // console1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
    //
    #include <iostream>
    using namespace std;
    int main() {
    int n;
    int maxDays = 0, days = 0;
    int temp, tempx = -1;
    bool flag = false;
    cin >> n;
    if (n >= 1 && n <= 1000000000) {
    for (int i = 0; i < n; i++) {
    cin >> temp;
    if (temp < 0) {
    return 0;
    }
    if (n == 1) {
    maxDays = 1;
    cout << maxDays << endl;
    return 0;
    }
    if (temp > tempx) { //如果第一天气温大于第二天 统计1天
    days++;
    }
    else {
    if (days > maxDays) {
    maxDays = days;//统计最大天数
    }
    days = 1;//如果小于则从这一天开始算作第一天
    //flag = true;
    }
    tempx = temp;//不论前一天和后一天谁大 都要将后一天温度保存 方便下一次比较
    }
    //最后一次统计的days 如果大于maxDays ,需要对maxDays 重新赋值
    if (days > maxDays) {
    maxDays = days;
    }
    cout << maxDays << endl;
    /*
    if (flag) {
    cout << maxDays << endl;
    }
    else {
    cout << days << endl;
    }
    */
    }
    system("pause");
    return 0;
    }


    2楼2020-06-01 19:42
    回复
      楼主 请问PTA读者验证码怎么获取呢


      来自iPhone客户端3楼2021-07-18 10:46
      回复