1 条题解

  • 0
    @ 2025-10-10 15:45:27

    C :

    #include<stdio.h>
    #include<string.h>
    char a[100];
    main()
    {
    	int i,s=1;
    	gets(a);
    	for(i=0;i<strlen(a);i++)
    	{
    		if(a[i]==a[i+1])
    		{
    			s++;	
    		}
    		else
    		{
    			if(s==1)
    			{
    				printf("%c",a[i]);
    			}
    			else
    			printf("%d%c",s,a[i]);
    			s=1;
    		}
    	}
    }
    

    C++ :

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    int main(){
    	char a[2000];
    	gets(a);
    	int i,c = 0;
    	for (i = 0;i < strlen(a);i++){
    		c++;
    		if (i == strlen(a) - 1 || a[i] != a[i + 1]){
    			if (c != 1){
    				cout<<c<<a[i];
    			}else{
    				cout<<a[i];
    			}
    			c = 0;
    		}
    	}
    }
    

    Java :

    import java.util.Scanner;
    public class Main{
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		String s1 = sc.nextLine();
    		s1 = s1 + " ";
    		int s = 1;
    		for(int i = 0;i < s1.length() - 1;i++){ 
    			if(s1.charAt(i) == s1.charAt(i + 1)){
    				s++;
    			}else{ 
    				if(s == 1){
    					System.out.print(s1.charAt(i));	
    				}else{
    					System.out.print(s + "" + s1.charAt(i));
    				}
    				s = 1;
    			}
    		}
    	}
    }
    
    

    Python :

    a = input()
    a = a + " "
    s= 1
    for i in range (0,len(a)-1):
        if a[i]==a[i+1]:
            s += 1
        else:
            if s != 1:
                print(s,end='')
            print(a[i],end='')
            s = 1
    
    • 1

    信息

    ID
    98
    时间
    1000ms
    内存
    32MiB
    难度
    10
    标签
    递交数
    6
    已通过
    3
    上传者