[蓝桥杯]算法训练 Anagrams问题

来源:互联网 发布:网络女歌手歌曲大全 编辑:程序博客网 时间:2024/06/03 11:00

问题描述

  Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
  输入格式:输入有两行,分别为两个单词。
  输出格式:输出只有一个字母Y或N,分别表示Yes和No。
  输入输出样例

样例输入

Unclear
Nuclear

样例输出

Y

AC代码:

#include<bits/stdc++.h>using namespace std;int main(){    ios_base::sync_with_stdio(false);    cin.tie(NULL),cout.tie(NULL);    char s1[105];    char s2[105];    cin>>s1;    cin>>s2;    char ans1 = 0;    char ans2 = 0;    for(int i=0;s1[i]!='\0';i++)    {        if(isalpha(s1[i])==1)            s1[i]+=32;        ans1+=s1[i];    }    for(int i=0;s2[i]!='\0';i++)    {        if(isalpha(s2[i])==1)            s2[i]+=32;        ans2+=s2[i];    }    if(ans1 == ans2) //若两个单词字母出现的次数是相同的(不区分大小写),那么两个字符串的ASCII之和肯定是相同的        cout<<"Y"<<endl;    else        cout<<"N"<<endl;    return 0;}
原创粉丝点击