C语言 · Anagrams问题
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
输入输出样例
Nuclear
/*
思路:都转换成小写,在长度相等的情况下,
分别遍历记录下每个字母出现的次数。
最后比较各个数字是否相等。 字符串数组长度:100 ——单词长度不会超过80。
*/
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<ctype.h>//C语言转换大小写头文件
int main(){
char c1[],c2[];//定义字符串数组
int a[],b[];//记录出现次数
memset(a,,sizeof(a));
memset(b,,sizeof(b));
scanf("%s\n%s",c1,c2);
int len1,len2;
len1=strlen(c1);//求字符串长度
len2=strlen(c2);
int i; if(len1 != len2){
printf("N");
}else{
/*遍历c1*/
for(i = ; i < len1; i++){
// str1[i] = tolower(c1[i]);
if(c1[i] == 'a'||c1[i] == 'A')
a[]++;
else if(c1[i] == 'b'||c1[i] == 'B')
a[]++;
else if(c1[i] == 'c'||c1[i] == 'C')
a[]++;
else if(c1[i] == 'd'||c1[i] == 'D')
a[]++;
else if(c1[i] == 'e'||c1[i] == 'E')
a[]++;
else if(c1[i] == 'f'||c1[i] == 'F')
a[]++;
else if(c1[i] == 'g'||c1[i] == 'G')
a[]++;
else if(c1[i] == 'h'||c1[i] == 'H')
a[]++;
else if(c1[i] == 'i'||c1[i] == 'I')
a[]++;
else if(c1[i] == 'j'||c1[i] == 'J')
a[]++;
else if(c1[i] == 'k'||c1[i] == 'K')
a[]++;
else if(c1[i] == 'l'||c1[i] == 'L')
a[]++;
else if(c1[i] == 'm'||c1[i] == 'M')
a[]++;
else if(c1[i] == 'n'||c1[i] == 'N')
a[]++;
else if(c1[i] == 'o'||c1[i] == 'O')
a[]++;
else if(c1[i] == 'p'||c1[i] == 'P')
a[]++;
else if(c1[i] == 'q'||c1[i] == 'Q')
a[]++;
else if(c1[i] == 'r'||c1[i] == 'R')
a[]++;
else if(c1[i] == 's'||c1[i] == 'S')
a[]++;
else if(c1[i] == 't'||c1[i] == 'T')
a[]++;
else if(c1[i] == 'u'||c1[i] == 'U')
a[]++;
else if(c1[i] == 'v'||c1[i] == 'V')
a[]++;
else if(c1[i] == 'w'||c1[i] == 'W')
a[]++;
else if(c1[i] == 'x'||c1[i] == 'X')
a[]++;
else if(c1[i] == 'y'||c1[i] == 'Y')
a[]++;
else if(c1[i] == 'z'||c1[i] == 'Z')
a[]++;
} /*遍历c2*/
for(i = ; i < len2; i++){
// c2[i] = tolower(c2[i]);
if(c2[i] == 'a' || c2[i] == 'A')
b[]++;
else if(c2[i] == 'b'||c2[i] == 'B')
b[]++;
else if(c2[i] == 'c'||c2[i] == 'C')
b[]++;
else if(c2[i] == 'd'||c2[i] == 'D')
b[]++;
else if(c2[i] == 'e'||c2[i] == 'E')
b[]++;
else if(c2[i] == 'f'||c2[i] == 'F')
b[]++;
else if(c2[i] == 'g'||c2[i] == 'G')
b[]++;
else if(c2[i] == 'h'||c2[i] == 'H')
b[]++;
else if(c2[i] == 'i'||c2[i] == 'I')
b[]++;
else if(c2[i] == 'j'||c2[i] == 'J')
b[]++;
else if(c2[i] == 'k'||c2[i] == 'K')
b[]++;
else if(c2[i] == 'l'||c2[i] == 'L')
b[]++;
else if(c2[i] == 'm'||c2[i] == 'M')
b[]++;
else if(c2[i] == 'n'||c2[i] == 'N')
b[]++;
else if(c2[i] == 'o'||c2[i] == 'O')
b[]++;
else if(c2[i] == 'p'||c2[i] == 'P')
b[]++;
else if(c2[i] == 'q'||c2[i] == 'Q')
b[]++;
else if(c2[i] == 'r'||c2[i] == 'R')
b[]++;
else if(c2[i] == 's'||c2[i] == 'S')
b[]++;
else if(c2[i] == 't'||c2[i] == 'T')
b[]++;
else if(c2[i] == 'u'||c2[i] == 'U')
b[]++;
else if(c2[i] == 'v'||c2[i] == 'V')
b[]++;
else if(c2[i] == 'w'||c2[i] == 'W')
b[]++;
else if(c2[i] == 'x'||c2[i] == 'X')
b[]++;
else if(c2[i] == 'y'||c2[i] == 'Y')
b[]++;
else if(c2[i] == 'z'||c2[i] == 'Z')
b[]++;
}
for(i=;i<;i++){
if(a[i] != b[i]){
printf("N");
break;
}
}
if(i>=){
printf("Y");
}
}
return ;
}
C语言 · Anagrams问题的更多相关文章
- 英语语言能力挑战游戏: anagrams & palindromes
基于英语语言的知名游戏(可以归类为智商挑战题): anagrams anagram定义为一个有着相同的字母的不同的词,例: stop的anagram为:tops, opts, pots, and sp ...
- 7、滑动窗口套路算法框架——Go语言版
前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...
- C语言 · 高精度加法
问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...
- Windows server 2012 添加中文语言包(英文转为中文)(离线)
Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...
- iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...
- C语言 · 字符转对比
问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等.比如 Beijing 和 Hebei 2:两个字符串不仅长度相 ...
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- Atitit 项目语言的选择 java c#.net php??
Atitit 项目语言的选择 java c#.net php?? 1.1. 编程语言与技术,应该使用开放式的目前流行的语言趋势1 1.2. 从个人职业生涯考虑,java优先1 1.3. 从项目实际来 ...
- 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】
说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...
随机推荐
- scrapy爬虫docker部署
spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...
- 谈谈一些有趣的CSS题目(七)-- 消失的边界线问题
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- 初学者看过来之JSON入门
1. 什么是JSON JSON---Javascript Object Notation,前两个单词大家应该都认识,最后一个notation,是"记号.标记法"的意思,连在一起,便 ...
- C#中如何创建PDF网格并插入图片
这篇文章我将向大家演示如何以编程的方式在PDF文档中创建一个网格,并将图片插入特定的网格中. 网上有一些类似的解决方法,在这里我选择了一个免费版的PDF组件.安装控件后,创建新项目,添加安装目录下的d ...
- 【云知道】究极秒杀Loadrunner乱码
Loadrunner乱码一击必杀 之前有介绍一些简单的针对Loadrunner脚本或者调试输出内容中乱码的一些设置,但是并没能完全解决一些小伙伴的问题,因为那些设置实在能力有限,还是有很多做不到的事情 ...
- WinForm设置控件焦点focus
winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了. ②Winfor ...
- [Android]使用Dagger 2来构建UserScope(翻译)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/6237731.html 使用Dagger 2来构建UserSco ...
- TabLayout + ViewPager
一.实现思路 1.在build.gradle中添加依赖,例如: compile 'com.android.support:support-v4:23.4.0'compile 'com.android. ...
- Microsoft Visual Studio 2015 下载、注册、安装过程、功能列表、问题解决
PS:请看看回复.可能会有文章里没有提到的问题.也许会对你有帮助哦~ 先上一张最终的截图吧: VS2015正式版出了,虽然没有Ultimate旗舰版,不过也是好激动的说.哈哈.可能有的小伙伴,由于工作 ...
- Linux实战教学笔记04:Linux命令基础
第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...