2 solutions

  • 0
    @ 2021-10-25 23:02:28

    这个题是一个字符串问题。对字符串处理对于新手来说也是不容易的,过的人还不少,大家还是挺不错的。为了降低难度,提前给出了字符串的长度,保证数字只占一位。相信大家经过练习,以后做这个题就会变得得心应手了~

    update:2021/12:由@keptree 增加了一组数据,需要考虑n为0的情况的输出,应该是一个空串!

    参考代码:

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char a[120],s[120];
    	int l1,i,j=0;
    	scanf("%d\n",&l1);
    	if (n==0)
    	{
    		printf("");
    		return 0;
    	}
    	gets(a);
    	for (i=0;i<strlen(a);i++)
    	{
    		int ii=1;
    		while (a[i]==a[i+ii])
    		{
    			ii++;
    		}
    		 	s[j]=ii+48;
    		 	j++;
    		  s[j]=a[i];
    		  j++;
    		  i=i+ii-1; 
    	}
    	printf("%d\n",strlen(s));
    	puts(s);
    	return 0;
    }
    

    Information

    ID
    131
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    9
    Tags
    # Submissions
    172
    Accepted
    13
    Uploaded By