Look and Say
这道题说起来自己觉得都好笑,看了半天都没明白是怎么个意思。其实,这道题也蛮简单的,说一下题的意思:给你一个很大的数,肯定要用到字符串啦,然后让你从第一个数字开始找相同的,直到碰到不相同的才会进行下面的重新寻找,好比举个例子,一个人喜新厌旧,开始只去与这样的人交朋友,等发现新的时候会抛弃以前的朋友去与那些交往,不知道这个例子得当与否。。
下面看一下我的代码
#include<stdio.h>
#include<string.h>
int main()
{
int n, i, sum, j, len;
char a[1000], k;
while(~scanf("%d", &n))
{
for(i=0;i<n;i++)
{
scanf("%s", a);
len=strlen(a);
sum=0;
k=a[0];
for(j=0;j<len;j++)
{
if(k==a[j])
{
sum++;
if(j==len-1)//最后一个要直接输出(for循环已经终止)
{
printf("%d%c", sum, k);
}
}
else
{
printf("%d%c", sum, k);
k=a[j];
sum=1;//因为已经有一个不同的了
if(j==len-1)//与上面一样,都是因为for循环终止
{
printf("%d%c", sum, k);
}
}
}
printf("\n");
}
}
return 0;
}
这道题难到不是很难,题意真的需要看懂,英语啊,硬伤啊!
原文:http://blog.csdn.net/unusualnow/article/details/43882685