社区讨论
关于连数
P1420最长连号参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lo7udbr7
- 此快照首次捕获于
- 2023/10/27 07:54 2 年前
- 此快照最后确认于
- 2023/10/27 07:54 2 年前
如果数列由大到小,那不就没有从小到大的数了吗,哪连号的个数不应该是0么。
以下代码AC了,但输入从大到小的数列,就会输出1;```c
#include<stdio.h>
int main()
{
long int n,a[10000],i,max=0,s=1;
scanf("%ld",&n);
for(i=1;i<=n;i++)
{
scanf("%ld",&a[i]);
}
for(i=1;i<=n;i++)
{
if(a[i+1]-a[i]==1)
s++;
else
s=1;
if(s>max)
max=s;
}
printf("%ld",max);
return 0;
}
CPP如果最长连号的数的个数是1,也就是没有连续的连号,实际上连号个数为0。修改后,输入从大倒小或者常数列,会输出0,但是第4点会WA。```c
#include<stdio.h>
int main()
{
long int n,a[10000],i,max=0,s=1;
scanf("%ld",&n);
for(i=1;i<=n;i++)
{
scanf("%ld",&a[i]);
}
for(i=1;i<=n;i++)
{
if(a[i+1]-a[i]==1)
s++;
else
s=1;
if(s>max)
max=s;
}
if(max==1)
max=0;
printf("%ld",max);
return 0;
}
我的理解不是很好,如果犯了什么可笑的错误还请原谅我吧。
回复
共 3 条回复,欢迎继续交流。
正在加载回复...