2个星期没有练习
大致就是先对解密后的密码进行替换,然后看看字母是否一致,一致则可以移位完成
标准库里的sort
设置数组初值的memset
数组输入的scanf,gets
等等
#include <fstream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
using std::sort;
char code[101];
char dcod[101];
//全局数据
bool Greater(int one, int two)
{
return one > two;
}
int main()
{
gets(code);
gets(dcod);
int nNumOne[26];
int nNumTwo[26];
memset(nNumOne, 0, sizeof(int) * 26);
memset(nNumTwo, 0, sizeof(int) * 26);
char* psz = code;
while (*psz)
{
++nNumOne[*psz - 'A'];
++psz;
}
psz = dcod;
while (*psz)
{
++nNumTwo[*psz - 'A'];
++psz;
}
sort(nNumOne, nNumOne + 26, Greater);
sort(nNumTwo, nNumTwo + 26, Greater);
bool bIsYes = true;
for (int i = 0; i < 26; ++i)
{
if (nNumOne[i] < nNumTwo[i])
{
bIsYes = false;
break;
}
}
if (bIsYes)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
return 0 ;
}