3 条题解

  • 0
    @ 2024-12-16 23:00:10
    #include <stdio.h>
    #include <string.h>
    
    int main() 
    {
        char str[256];
        scanf("%s", str);
        int len = strlen(str);
        int i = 0;
        while (i < len) 
        {
            int count = 1;
            while (i + 1 < len && str[i] == str[i + 1]) 
            {
                count++;
                i++;
            }
            if (count > 1)
            {
                printf("%d%c", count, str[i]);
            } 
            else 
            {
                printf("%c",str[i]);
            }
            i++;
        }
        printf("\n");
        return 0;
    }
    
    • 0
      @ 2023-12-2 13:47:59
      #include<stdio.h>
      #include<string.h>
      char a[1000];
      int main() {
      	scanf("%s",&a);
      	int i,m=1,n=strlen(a);//m记录重复出现次数,n是字符串长度 
      	for(i=0;i<n;i++) {
      		if(a[i]==a[i+1]) {
      			m++;//当前字符与下一字符相同,重复次数加1 
      		}
      		else {
      			if(m==1) {
      				printf("%c",a[i]);
      				m=1;//重复次数为1,直接打印该字符 
      			} 
      			else {
      				printf("%d%c",m,a[i-1]);
      				m=1;//重复次数大于1,打印出重复出现次数和最后一个重复的字符 
      			}
      		}
      	}
      	puts("");
      }
      
      • 0
        @ 2023-12-2 12:30:31
        #include <stdio.h>
        #include <string.h>
        char a[256];
        int main() {
            fgets(a, 255, stdin);
            int i, sum = 0;
        
            int n = strlen(a);
            for (int i = 1; i <= n; i++) {
                sum++;
                if (a[i] != a[i - 1]) {
                    if (sum != 1) printf("%d", sum);
                    sum = 0;
                    printf("%c", a[i - 1]);
                }
            }
            return 0;
        }
        
        • 1

        信息

        ID
        156
        时间
        1000ms
        内存
        32MiB
        难度
        3
        标签
        递交数
        54
        已通过
        28
        上传者