哎呦呦!!!
这次wa了两遍
都是因为读题
第一次
忘了输出前缀case 1:
第二次
这次wa了两遍
都是因为读题
第一次
忘了输出前缀case 1:
第二次
分别对元音和辅音排序
#include <iostream>
#include <cstdlib>
using namespace std;
struct letter
{
char c;
int count;
};
int com(const void *a,const void *b)
{
return *(char*)a - *(char*)b;
}
char ch1[110],ch2[110];
int main ()
{
int n;
cin>>n;
int xu = 0;
while (n--)
{
int j1 = 0, j2 = 0;
xu++;
letter vol[5] = {{'A',0},{'U',0},{'E',0},{'O',0},{'I',0}};
letter con[21] = {{'J',0},{'S',0},
{'B',0},{'K',0},{'T',0},
{'C',0},{'L',0},
{'D',0},{'M',0},{'V',0},
{'N',0},{'W',0},
{'F',0},{'X',0},
{'G',0},{'P',0},{'Y',0},
{'H',0},{'Q',0},{'Z',0},
{'R',0}
};
int num;
cin>>num;
int flag = 0;
int v = 0;
int c = 0;
cout<<"Case "<<xu<<": ";
for(int i = 0; i < num; i++)
{
if(!flag)
{
flag = !flag;
if(vol[v].count>20) v++;
ch1[j1++] = vol[v].c;//cout<<vol[v].c;
vol[v].count++;
}
else
{
flag = !flag;
if(con[c].count>4) c++;
ch2[j2++] = con[c].c;//cout<<con[c].c;
con[c].count++;
}
}
qsort(ch1,j1,sizeof(char),com);
qsort(ch2,j2,sizeof(char),com);
flag = 0;
j1 = 0;
j2 = 0;
for(int i = 0; i < num; i++)
{
if(!flag){flag = !flag;cout<<ch1[j1++];}
else {flag = !flag;cout<<ch2[j2++];}
}
cout<<endl;
}
return 0;
}