http://acm.hdu.edu.cn/showproblem.php?pid=1020..

来源:互联网 发布:青少年计算机编程创业 编辑:程序博客网 时间:2024/06/04 23:32
有关指针的字符串

利用指针的性质,来一次寻找串中的与前面字母相同的个数.并依次寻找下去!

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char str[10001];
int main()
{
    int i,n,t;
    char fir;//定义字符,利用指针的是要用!
    scanf("%d",&t);
    while(t--)
    {
        memset(str,'\0',sizeof(str));
        scanf("%s",str);
        n=strlen(str);
        fir=*str;//利用指针采取逐个比较的方法!
         int k=1;
        for(i=1;i<=n;i++)//依次在串中寻找!
        {
            if(fir==str[i])
                k++;
            else
            {
                if(k>1)
                {
                    printf("%d%c",k,fir);//判断一个输出一个!直到最后。
                    k=1;
                }
                else
                    printf("%c",fir);
                    fir=str[i];//回到先前的那个字母,再依次寻找(是否有相同的字母)。
            }
        }
        printf("\n");
    }
  return 0;
}