(欢迎阅读我的博客,如发现错误或有建议请评论留言,谢谢。)
题目要求:
输入一个数据n然后输入n组数字,用语言描述数字的组成,例如122344111由一个1两个2一个3两个4三个1组成,所以输出1122132431。
题目思路:
输入数据后对数据进行统计如果第i位与第i+1位相同,则统计数+1,如果与下一位不相同则输出统计数和第i位数字,然后统计数清零,在对后面的数据统计。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int i;
for(i=n;i>0;i--)
{
char a[1000];
int b=1,j;
cin>>a;
for(j=0;j<strlen(a);j++)
{
if(a[j]==a[j+1])
b++;
else {cout<<b<<a[j];b=1;}
}
cout<<endl;
}
}
}