题目描述:
输入一串字符串,按照顺序统计字符串的个数。示例:
输入: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;
}
本题稍微有点难度的地方就是如果一直输入相同字符的统计方法。