设车辆厂生产了硬座车厢和软座车厢共n节(混合在一起),要求使用队列的基本操作,编程实现所有硬座车厢和所有软座车厢交替排列。例如硬座车厢用H来表示,软座车厢用S来表示,从键盘上输入8节车厢代号为SHHSSHSS ,输出为HSHSHSSS。若从键盘输入8节车厢代号为SHHSHHSH ,输出为HSHSHSHH。
输入格式:
第一行输入硬座和软座车厢共有的节数,2<=节数<=10;
第二行按节数输入车厢代号。
输出格式:
若车厢节数超出合法范围,输出“ERROR”,否则输出H和S车厢交替排列结果,注意输出结果以H开头。
#include<stdio.h>
#include<string.h>
int main()
{
int n;
int s=0,h=0;
scanf("%d",&n);
char a[n];
scanf("%s",a);
if(n<2||n>10){
printf("ERROR");
return 0;}
for(int i=0;i<n;i++)
{
if(a[i]=='S')
s++;
if(a[i]=='H')
h++;
}
for(int j=0;j<n;j++)
{
if(h!=0){
printf("H");
h--;}
if(s!=0){
printf("S");
s--;}
}
return 0;
}