编写求最大平台问题的程序
有n个整数a1,a2...an,若满足a1<=a2<=...an,则认为在这n个数中有最大平台,在这种情况下,若n个数互不相同,则最大平台值为1,若n个数中最多有连续m个整数的值相等,则最大平台为m例如:当n=10
1 2 3 4 5 6 7 8 9 10 最大平台为1
1 2 2 3 3 3 3 5 6 7 最大牌平台为4
2 1 6 5 9 6 2 3 4 5 无最大平台
#include<stdio.h> int main(void) { int a[100],n,i,max=1,t=1,flag=1; scanf("%d",&n); for(i=0;i<n;++i) { scanf("%d",&a[i]); if(i>0&&a[i]<a[i-1]) flag=0; } if(flag) { for(i=0;i<n;++i) { if(i>0&&a[i]==a[i-1]) { t++; max=(max>t)?max:t; } else t=1; } } flag?printf("最大平台为%d\n",max):printf("无最大平台\n"); return 0; }
[此贴子已经被作者于2018-4-21 16:34编辑过]