二十:数字重复长度计算

问题:数字重复长度计算

题目描述

有一串数字,比如2234445240(最后的0表示这一串数字的结束)
 输出最长的一段重复的次数。
比如第一个2连续重复了2次
3连续重复了1次
4连续重复了3次
5连续重复了1次
2连续重复了1次
4连续重复了1次
则最长的重复次数为数字4重复的3次。输出3,
输入
输入一串数字,以数字0结尾。
输出
输出最长重复的一段中,重复的次数
样例输入
2234445240
样例输出

3

 1 #include<stdio.h>
 2 #include<string.h>
 3 int main(){
 4     char n='1';
 5     char a[100];
 6     int b[10];
 7     int i=0,m=0,k=0;
 8     while(n-48){
 9         scanf("%c",&n);
10         if(n!=48){
11             a[i++]=n;
12         }
13     }
14     memset(b,0,sizeof(b));
15     for(i=0;a[i]-48;i++){
16         if(b[a[i]-48]>k&&b[a[i]-48]!=b[a[i-1]-48]){
17             k++;
18         }else{
19             k=0;
20             b[a[i]-48]++;
21         }
22     }
23 for(i=0;i<10;i++){
24     if(b[i]!=0){
25         printf("%d  %d
",i,b[i]);
26     }
27     if(b[i]>m){
28         m=b[i];
29     }
30 }
31     printf("%d",m);
32     return 0;
33     
34 }
 
原文地址:https://www.cnblogs.com/yuming226/p/8150867.html