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

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

Problem Description

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

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

Input

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

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

Output

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

Sample Input

1abbcccddddeeeeef

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] = \0;            26             printf("%s\n", buf);27         }28         29     }30     31     32     return 1;33 }

 

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