提交后只有80分,错在哪里,请在此基础上修改?具体要求如下:
题目描述
输入n个整数,请你找出以数字3构成的最长连续数对应的长度
输入
两行,第一行为一个整数n,表示第二行要输入n个整数。
输入会保证至少一个一个整数3。
输出
一行,包含一个整数,表示这n个数中以3为数字的最长连续数的长度
样例输入 Copy
12
1 3 3 2 2 6 3 3 3 3 1 9
样例输出 Copy
4
提示:输入的12个数当中,有两段以数字3构成的连续数,长度分别为2和4,输出最长的那一段。
题目描述
输入n个整数,请你找出以数字3构成的最长连续数对应的长度
输入
两行,第一行为一个整数n,表示第二行要输入n个整数。
输入会保证至少一个一个整数3。
输出
一行,包含一个整数,表示这n个数中以3为数字的最长连续数的长度
样例输入 Copy
12
1 3 3 2 2 6 3 3 3 3 1 9
样例输出 Copy
4
提示:输入的12个数当中,有两段以数字3构成的连续数,长度分别为2和4,输出最长的那一段。
你的代码没有考虑输入的数都是3的情况,即if语句中的else没有被执行的情况
#include <iostream>
using namespace std;
int main()
{
int n, max = 0, x, count = 0;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> x;
if (x == 3)
{
count++;
}
else
{
if (count > max)
max = count;
count = 0;
}
}
if (count > max)
max = count;
cout << max;
return 0;
}