• 武汉科技大学ACM:1003: 华科版C语言程序设计教程(第二版)例题6.6.改编


    Problem Description

     小明明最喜欢学英语了,英语课从来不翘课,但是英语却一直没学好,因为上课一直在睡觉。为什么会睡觉呢,因为他觉得英文单词太长了。现在小明明有一个很长很长很长的单词,想要压缩一下。你能帮助他吗?

    压缩:将连续的重复的字母用一个来代替,详情见sample。

    Input

    先输入一个n,表示小明明给的单词数量(1<= n <= 10086)

    接下来n行,每行为一个字符串,长度不大于73,数据保证都是英文字母,不包含其他字符。

    Output

    输出n行,每行为一个压缩后的新单词。

    Sample Input

    1
    abbcccddddeeeeef
    

    Sample Output

    abcdef
    

    HINT

     注意:读一行,处理一行

    可以使用类似下面的结构:

    scanf("%d",&n);

    getchar();

    while(n --)

    {

           gets(s);

           .......

    }

    后面的题目类似

     1 #include<stdio.h>
     2 int main()
     3 {
     4     char s[74];
     5     int n;
     6     while(scanf("%d",&n)!=EOF)
     7     {
     8         for(int k=0;k<n;k++)
     9         {
    10             scanf("%s",s);
    11             char* p=s;
    12             
    13             char buf[100];
    14             
    15             char* q = p;
    16             int i=0;
    17             for(;*q;)
    18             {
    19                 if(q==p|| *q != *(q-1))
    20                 {
    21                     buf[i++] = *q;
    22                 }
    23                 q++;
    24             }
    25             buf[i] = '';            
    26             printf("%s
    ", buf);
    27         }
    28         
    29     }
    30     
    31     
    32     return 1;
    33 }
  • 相关阅读:
    VUE的生命周期
    ID生成算法(二)
    ID生成算法(一)——雪花算法
    HTTP状态码和支持的方法
    水平居中/垂直居中/水平垂直居中总结
    判断数组类型的4种方法
    WebSocket浅谈
    vue中使用定时器时this指向
    银行转账业务梳理
    支付那些事儿
  • 原文地址:https://www.cnblogs.com/liuwt365/p/4161185.html
Copyright © 2020-2023  润新知