[蓝桥杯]ALGO-91.算法训练_Anagrams问题

时间:2023-03-09 02:49:44
[蓝桥杯]ALGO-91.算法训练_Anagrams问题
问题描述
  Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
  输入格式:输入有两行,分别为两个单词。
  输出格式:输出只有一个字母Y或N,分别表示Yes和No。
  输入输出样例
样例输入
Unclear
Nuclear
样例输出
Y

题目描述

代码如下:

 #include <stdio.h>
#include <string.h>
using namespace std; int main(void)
{
char ch1[+];
char ch2[+];
scanf("%s",ch1);
scanf("%s",ch2);
if (strlen(ch1)!=strlen(ch2))
{
printf("N\n");
return ;
} int num1[];
int num2[];
memset(num1,,sizeof(num1));
memset(num2,,sizeof(num2));
int len = strlen(ch1);
for (int i= ; i<len ; i++)
{
if (ch1[i]>='a' && ch1[i]<='z')
num1[ch1[i]-'a'] ++;
else
num1[ch1[i]-'A'] ++; if (ch2[i]>='a' && ch1[i]<='z')
num2[ch2[i]-'a'] ++;
else
num2[ch2[i]-'A'] ++;
} for (int i=; i<; i++)
{
if (num1[i]!=num2[i])
{
printf("N\n");
return ;
}
}
printf("Y\n");
return ;
}

C++解法

解题思路:

1.判断两字符串是否相同

2.记录两个字符串的字符个数

3.判断两个字符串的字符个数是否相同