| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2087 人关注过本帖
标题:字母简化
只看楼主 加入收藏
f2313660764
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2018-11-14
结帖率:14.29%
收藏
已结贴  问题点数:5 回复次数:2 
字母简化
题目描述
       给出一串全部为小写英文字母的字符串,要求把这串字母简化。简化规则是:统计连续出现的字母数,输出时先输出个数,再输出字母。比如:aaabbbaa,则简化为3a3b2a;而zzzzeeeeea,则简化为4z5e1a。

输入
       有多行。第一行为一个整数n,表示共有n组测试数据(1≤n≤100)。接下来有n行,每行第一个数为字符串长度t(t≤1000),然后为一个长度为t的字符串。

输出
       简化后的字符串,每组测试用例占一行。

样例输入
Copy Sample Input
3
7 aaaaaaa
4 abcd
6 qwweee
样例输出
Copy Sample Output
7a
1a1b1c1d
1q2w3e



#include <stdio.h>
int main()
{
    int n,a=1,i,j=1;
    char s[1000],s2[1000];
    scanf("%d",&n);
    while(scanf("%s", s) != EOF)
    {
        gets(s2);
        for(i=j;s2[i]!='\0';i=j)
        {
            a=1;
            for(j=i+1;s2[j]!='\0';j++)
            {
                if(s2[i]==s2[j]) a++;
                else
                {
                break;}
            }
            printf("%d%c",a,s2[i]);
        }
        printf("\n");
    }
    return 0;
}


为什么只能运行一组数据   之后再输就不出结果了???
搜索更多相关主题的帖子: 字母 字符串 输出 一行 scanf 
2019-01-08 20:13
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:3 
因为你不应该用 EOF 做循环退出条件
请问 你输入 n 是做什么的

https://zh.
2019-01-08 22:53
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:3 
程序代码:
#include <stdio.h>
int main()
{
    int n;
    char s[100];
    scanf("%d",&n);
    while(n--)
    {
        int len;
        scanf("%d",&len);
        getchar();
        for(int i=0;i<len;++i)
            scanf("%c",&s[i]);
    
        bool flag=false;
        int count=1;
        int j=0;
        for(int i=0;i<len;flag==true?i=j:++i)
        {
            count=1;
            flag=false;
            for(j=i+1;j<len;++j)
            {
                if(s[i]==s[j])
                    ++count;
                else
                    break;
            }
            if(count>1)
            {
                flag=true;
                printf("%d%c",count,s[i]);
            }
            else
                printf("%c",s[i]);
        }
        printf("\n");
    }
    return 0;
}
2019-01-08 23:19
快速回复:字母简化
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049479 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved