首先将所有字母都转换成小写字母,然后排序。若拍完序后的两个串相等,则输出Y,否则输出N.
问题描述
Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
输入输出样例
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
输入输出样例
样例输入
Unclear
Nuclear
Nuclear
样例输出
Y
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
char a[100];
char b[100];
int comp(const void *_a,const void *_b)
{
char *a = (char *)_a;
char *b = (char *)_b;
return *a - *b;
}
int main()
{
int i,len1,len2;
scanf("%s%s",a,b);
len1=strlen(a);
len2=strlen(b);
for(i=0;i<len1;i++)
{
a[i]=tolower(a[i]);
}
for(i=0;i<len2;i++)
{
b[i]=tolower(b[i]);
}
qsort(a,strlen(a),sizeof(char),comp);
qsort(b,strlen(b),sizeof(char),comp);
if(strcmp(a,b)==0)
printf("Y\n");
else
printf("N\n");
return 0;
}