#问题求解与编程# 实验四 C食堂排队

食堂排队

发布时间: 2018年4月9日 15:09   最后更新: 2018年4月9日 17:54   时间限制: 1000ms   内存限制: 128M

描述

某日,食堂窗口推出一款新美食,每个班的同学都想去尝一尝。于是,很多人都去这个窗口排队,但是,队伍中如果同班同学相邻站着的话,他们就只需要一个人排在队伍中就行了。例如某次队伍情况:12221133345678899,那么就会变成一条新的队伍:1213456789。

输入

输入有多组数据,对于每组数据只有一行长度不超过100的字符串。(该字符串只包含数字和字母)

输出

输出新串。

样例输入1
12221133345678899
aabbbbbbbccccddeeeeffgg
样例输出1
1213456789
abcdefg

____________________________________________________________________________________________________________________________

本题和之前的题 数字规律 括号如出一辙 甚至更加简单,多亏某队长(编程天才)提醒,否则我还真不一定能想起来这么做,索然不难...................

下面是AC代码:

#include<iostream>  
#include<string>  
using namespace std;  
int main()
{   
    string s,S;  
   	while(cin>>s){ 
    int l=s.length(),count=0;
	S=s[0];   
    for(int i=1;i<l;i++)
	{  
        if(s[i]==s[i-1])
		{  
            continue;
        }
		else 
		{
			S+=s[i];
		}
    }  
    cout<<S<<endl;
    }
    return 0;
}

要善用string 类型的方便封装特点!

下面是标程:

#include<cstdio>
#include<cstring>
int main()
{
    //freopen("data.in","r",stdin);
    char s[110];
    while(scanf("%s",s)!=EOF)//多组输入格式
    {
        printf("%c",s[0]);
        for(int i=1;i<strlen(s);i++)
        {
            if(s[i]==s[i-1])
                continue;
            printf("%c",s[i]);
        }
        printf("\n");
    }
    return 0;
}


阅读更多
换一批

没有更多推荐了,返回首页