![]()
1 #include<stdio.h>
2 #include<string.h>
3
4 int main()
5 {
6 int i;
7 char word1[81],word2[81]; //分别用于存储输入的两个单词
8 int word1_len,word2_len; //分别用于记录输入的两个单词的长度
9 int letter_num[2][26]={{0},{0}}; //二维数组,用于记录两个单词中每一个英文字母(不区分大小写)所出现的次数
10
11 //输入
12 gets(word1); //单词1
13 gets(word2); //单词2
14
15 word1_len=strlen(word1); //得到单词1的长度
16 word2_len=strlen(word2); //得到单词2的长度
17
18 //判断
19 if(word1_len==word2_len) //首先判断单词1和单词2的长度是否相等
20 {
21 for(i=0;i<word1_len;i++) //遍历单词1的每一个英文字母(不区分大小写),得到各个字母的个数
22 {
23 if(word1[i]>='A'&&word1[i]<='Z') //大写字母
24 letter_num[0][word1[i]-'A']++;
25 else if(word1[i]>='a'&&word1[i]<='z') //小写字母
26 letter_num[0][word1[i]-'a']++;
27 }
28
29 for(i=0;i<word2_len;i++) //遍历单词2的每一个英文字母(不区分大小写),得到各个字母的个数
30 {
31 if(word2[i]>='A'&&word2[i]<='Z') //大写字母
32 letter_num[1][word2[i]-'A']++;
33 else if(word2[i]>='a'&&word2[i]<='z') //小写字母
34 letter_num[1][word2[i]-'a']++;
35 }
36
37 for(i=0;i<26;i++) //判断单词1和单词2中每一个英文字母(不区分大小写)所出现的次数都是相同的
38 {
39 if(letter_num[0][i]!=letter_num[1][i])
40 break;
41 }
42
43 if(i==26) //都相同
44 putchar('Y');
45 else
46 putchar('N');
47 }
48 else
49 putchar('N');
50
51 return 0;
52 }