定义一行的整数的输入有相同连续的地方为“同数值部分排列”
找出有最长的同数值部分排列,并输出排列长度及这个数字的程序。
最长的同数值部分排列有两个以上的时候,输出最后那个。
输入的数字用空格或者换行区别
例1
输入:
0 1 1 1 2 0 0
输出:
3 1
例2
输入:
1 1 1 3
1 2 2
2
3
输出:
3 2
定义一行的整数的输入有相同连续的地方为“同数值部分排列”
找出有最长的同数值部分排列,并输出排列长度及这个数字的程序。
最长的同数值部分排列有两个以上的时候,输出最后那个。
输入的数字用空格或者换行区别
例1
输入:
0 1 1 1 2 0 0
输出:
3 1
例2
输入:
1 1 1 3
1 2 2
2
3
输出:
3 2
#include <stdio.h>
int main()
{
int x;
int c = 0;
int px = -1;
int maxv = -1;
int maxc = 0;
while (scanf("%d", &x) != EOF)
{
if (x == px)
c++;
else
c = 1;
if (c >= maxc)
{
maxc = c;
maxv = x;
}
px = x;
}
printf("%d %d", maxc, maxv);
return 0;
}
1 1 1 3
1 2 2
2 3
^Z
3 2Press any key to continue