jiankeabcd 2016-04-10 08:22 采纳率: 73.9%
浏览 1397
已采纳

c语言 设计一个找出同数值部分排列的程序

定义一行的整数的输入有相同连续的地方为“同数值部分排列”
找出有最长的同数值部分排列,并输出排列长度及这个数字的程序。
最长的同数值部分排列有两个以上的时候,输出最后那个。
输入的数字用空格或者换行区别

例1
输入:
0 1 1 1 2 0 0
输出:
3 1

例2
输入:
1 1 1 3
1 2 2
2
3
输出:
3 2

  • 写回答

2条回答

  • threenewbee 2016-04-10 15:19
    关注
     #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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!