温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Anagramas字母出现次数相同

发布时间:2020-08-01 05:39:25 来源:网络 阅读:524 作者:qq597ee29ad8124 栏目:编程语言

问题描述
  Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
  输入格式:输入有两行,分别为两个单词。
  输出格式:输出只有一个字母Y或N,分别表示Yes和No。
  输入输出样例
样例输入
Unclear
Nuclear
样例输出
Y
首先把 字母全变成大写,然后如果ASCII的值相等就可以判定每个字母在每个单词中只出现一次。
这里有人会想到,有一个单词里面是两个B,而另一个是一个A一个C,是的这种结果也是Y,但不符合题意,题中的字母都是对应的,前一个有A后面也要有A。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char str1[100],str2[100];
int len1,len2,i,sum1,sum2;
scanf("%s%s",str1,str2);
len1=strlen(str1);
len2=strlen(str2);
for(i=0;i<len1;i++)
{
if(str1[i]>='a'&&str1[i]<='z')
str1[i]=str1[i]-32;
}
for(i=0;i<len2;i++)
{
if(str2[i]>='a'&&str2[i]<='z')
str2[i]=str2[i]-32;
}
sum1=sum2=0;
for(i=0;i<len1;i++)
sum1+=str1[i];
for(i=0;i<len2;i++)
sum2+=str2[i];
if(sum1==sum2)
printf("Y\n");
else
printf("N\n");
return 0;
}

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI