#include
int main(void)
{
/Begin/
int n,x0 = 0,x1,i = 0,max = 0;
scanf("%d",&n);
do
{
scanf("%d",&x1);
n--;
if(x1 == x0 + 1)
i++;
else
{
if(i > max)
{
max = i;
i = 1;
}
}
x0 = x1;
}while(n != 0);
printf("%d",max)
/*********End**********/
return 0;
}
假设输入的是1 2 3的话,你的max是不会被赋值的啊。当循环结束后,你需要再判断i值是否大于max
另外,如果输入 1 1 1的话,你的max会是2,这也是不对的。所以不能使用x0的默认值,应该对第一个输入的数进行判断处理