问题描述
Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
输入输出样例
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
输入输出样例
样例输入
Unclear
Nuclear
Nuclear
样例输出
Y
1 /* 2 思路:都转换成小写,在长度相等的情况下, 3 分别遍历记录下每个字母出现的次数。 4 最后比较各个数字是否相等。 5 6 字符串数组长度:100 ——单词长度不会超过80。 7 */ 8 #include9 #include 10 #include 11 #include //C语言转换大小写头文件 12 int main(){ 13 char c1[100],c2[100];//定义字符串数组 14 int a[26],b[26];//记录出现次数 15 memset(a,0,sizeof(a)); 16 memset(b,0,sizeof(b)); 17 scanf("%s\n%s",c1,c2); 18 int len1,len2; 19 len1=strlen(c1);//求字符串长度 20 len2=strlen(c2); 21 int i; 22 23 if(len1 != len2){ 24 printf("N"); 25 }else{ 26 /*遍历c1*/ 27 for(i = 0; i < len1; i++){ 28 // str1[i] = tolower(c1[i]); 29 if(c1[i] == 'a'||c1[i] == 'A') 30 a[0]++; 31 else if(c1[i] == 'b'||c1[i] == 'B') 32 a[1]++; 33 else if(c1[i] == 'c'||c1[i] == 'C') 34 a[2]++; 35 else if(c1[i] == 'd'||c1[i] == 'D') 36 a[3]++; 37 else if(c1[i] == 'e'||c1[i] == 'E') 38 a[4]++; 39 else if(c1[i] == 'f'||c1[i] == 'F') 40 a[5]++; 41 else if(c1[i] == 'g'||c1[i] == 'G') 42 a[6]++; 43 else if(c1[i] == 'h'||c1[i] == 'H') 44 a[7]++; 45 else if(c1[i] == 'i'||c1[i] == 'I') 46 a[8]++; 47 else if(c1[i] == 'j'||c1[i] == 'J') 48 a[9]++; 49 else if(c1[i] == 'k'||c1[i] == 'K') 50 a[10]++; 51 else if(c1[i] == 'l'||c1[i] == 'L') 52 a[11]++; 53 else if(c1[i] == 'm'||c1[i] == 'M') 54 a[12]++; 55 else if(c1[i] == 'n'||c1[i] == 'N') 56 a[13]++; 57 else if(c1[i] == 'o'||c1[i] == 'O') 58 a[14]++; 59 else if(c1[i] == 'p'||c1[i] == 'P') 60 a[15]++; 61 else if(c1[i] == 'q'||c1[i] == 'Q') 62 a[16]++; 63 else if(c1[i] == 'r'||c1[i] == 'R') 64 a[17]++; 65 else if(c1[i] == 's'||c1[i] == 'S') 66 a[18]++; 67 else if(c1[i] == 't'||c1[i] == 'T') 68 a[19]++; 69 else if(c1[i] == 'u'||c1[i] == 'U') 70 a[20]++; 71 else if(c1[i] == 'v'||c1[i] == 'V') 72 a[21]++; 73 else if(c1[i] == 'w'||c1[i] == 'W') 74 a[22]++; 75 else if(c1[i] == 'x'||c1[i] == 'X') 76 a[23]++; 77 else if(c1[i] == 'y'||c1[i] == 'Y') 78 a[24]++; 79 else if(c1[i] == 'z'||c1[i] == 'Z') 80 a[25]++; 81 } 82 83 /*遍历c2*/ 84 for(i = 0; i < len2; i++){ 85 // c2[i] = tolower(c2[i]); 86 if(c2[i] == 'a' || c2[i] == 'A') 87 b[0]++; 88 else if(c2[i] == 'b'||c2[i] == 'B') 89 b[1]++; 90 else if(c2[i] == 'c'||c2[i] == 'C') 91 b[2]++; 92 else if(c2[i] == 'd'||c2[i] == 'D') 93 b[3]++; 94 else if(c2[i] == 'e'||c2[i] == 'E') 95 b[4]++; 96 else if(c2[i] == 'f'||c2[i] == 'F') 97 b[5]++; 98 else if(c2[i] == 'g'||c2[i] == 'G') 99 b[6]++;100 else if(c2[i] == 'h'||c2[i] == 'H')101 b[7]++;102 else if(c2[i] == 'i'||c2[i] == 'I')103 b[8]++;104 else if(c2[i] == 'j'||c2[i] == 'J')105 b[9]++;106 else if(c2[i] == 'k'||c2[i] == 'K')107 b[10]++;108 else if(c2[i] == 'l'||c2[i] == 'L')109 b[11]++;110 else if(c2[i] == 'm'||c2[i] == 'M')111 b[12]++;112 else if(c2[i] == 'n'||c2[i] == 'N')113 b[13]++;114 else if(c2[i] == 'o'||c2[i] == 'O')115 b[14]++;116 else if(c2[i] == 'p'||c2[i] == 'P')117 b[15]++;118 else if(c2[i] == 'q'||c2[i] == 'Q')119 b[16]++;120 else if(c2[i] == 'r'||c2[i] == 'R')121 b[17]++;122 else if(c2[i] == 's'||c2[i] == 'S')123 b[18]++;124 else if(c2[i] == 't'||c2[i] == 'T')125 b[19]++;126 else if(c2[i] == 'u'||c2[i] == 'U')127 b[20]++;128 else if(c2[i] == 'v'||c2[i] == 'V')129 b[21]++;130 else if(c2[i] == 'w'||c2[i] == 'W')131 b[22]++;132 else if(c2[i] == 'x'||c2[i] == 'X')133 b[23]++;134 else if(c2[i] == 'y'||c2[i] == 'Y')135 b[24]++;136 else if(c2[i] == 'z'||c2[i] == 'Z')137 b[25]++;138 }139 for(i=0;i<26;i++){140 if(a[i] != b[i]){141 printf("N");142 break;143 }144 }145 if(i>=26){146 printf("Y");147 }148 }149 return 0;150 }