您的位置:首页 > 其它

hdu 1020

2013-07-12 11:48 169 查看
题目描述:
                 输入一串字符串,按照顺序统计字符串的个数。示例:
                 输入:ABC      输出:ABC
                 输入:ABBCCC    输出:A2B3C
题目类型:
                 简单字符串处理。
 
源代码:
#include<iostream>
#include<stdio.h>
using namespace std;

#define MAX 10003

int main()
{
int N;
int i;
char a[MAX];   //输入字符
int num[MAX];   //记录字符个数
int count;      //记录字符串长度
scanf("%d",&N);
char c=getchar();   //接收回车
while(N--)
{

scanf("%c",&a[0]);
count=1;
num[0]=1;
i=1;
int k=0;
while(a[i-1]>='A'&&a[i-1]<='Z')
{
num[i]=0;
scanf("%c",&a[i]);
count++;
k++;      //如果输入的字符一直相同
if(a[i]==a[i-1])
{
num[i-k]++;
}
else
{
num[i]=1;
k=0;     //输入的字符不同时
}
i++;
}
for(i=0;i<count;i++)
{
if(num[i]==1)
cout<<a[i];
else if(num[i]!=0)
cout<<num[i]<<a[i];
}
}
return 0;
}

 

             本题稍微有点难度的地方就是如果一直输入相同字符的统计方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  简单字符串处理