设车辆厂生产了硬座车厢和软座车厢共n节(混合在一起),要求使用队列的基本操作,编程实现所有硬座车厢和所有软座车厢交替排列。例如硬座车厢用H来表示,软座车厢用S来表示,从键盘上输入8节车厢代号为SHHSSHSS ,输出为HSHSHSSS。若从键盘输入8节车厢代号为SHHSHHSH ,输出为HSHSHSHH。
#include<stdio.h>
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int n,a,b,c;
int i = a = b = 0;
char d[100];
cin >> n;
if(n>10||n<2)
{
cout << "ERROR";
return 0;
}
cin>>d;
while(d[i]!='\0')
{
if(d[i] == 'H')
{
a++;
i++;
}
else if(d[i] == 'S')
{
b++;
i++;
}
}
if(a>=b)
{
c = b;
}
else
{
c = a;
}
for(i = 0;i<c;i++)
{
cout << "HS";
}
if(a>b)
{
for(i = 0;i<a-b;i++)
cout << 'H';
}
else if(a<b)
{
for(i = 0;i<b-a;i++)
cout << 'S';
}
return 0;
}