4-1古老的密码
//古老的密码 WRONG ANSWR
#define maxn 100+10
int cmp(const void* a,const void* b){
return *(int *)a-*(int *)b;//从小到大排序
}
int main() {
char a[maxn];
char b[maxn];
while(scanf("%s %s",a,b)==2){
unsigned long len=0;
len=strlen(a);
int cnt1[26];
int cnt2[26];
memset(cnt1,0,sizeof(cnt1));
memset(cnt2,0,sizeof(cnt2));
// 判断两个字符串中各个字母出现的次数
for(int i=0;i<len;i++){
cnt1[a[i]-'A']++; //字母也是整形数值,A-0,a[i]遍历a中每一个字母,a[i]-‘A'为字母a[i]的ASC码,以ASC码代表字母
cnt2[b[i]-'A']++;
}
//排序
qsort(cnt1, 26, sizeof(cnt1[0]), cmp);
qsort(cnt2, 26, sizeof(cnt2[0]), cmp);
for(int i=0;i<26;i++){
if(cnt1[i]!=cnt2[i]){
printf("NO\n");
return 0;
}
}
printf("YES\n");
}
return 0;
}
4-2刽子手游戏
//刽子手游戏(有问题代码)
unsigned long left,chance;//剩下的字母数和还能猜错的字母个数