1. 程式人生 > >#問題求解與程式設計# 實驗四 C食堂排隊

#問題求解與程式設計# 實驗四 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;
}