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 ————————— ...
随机推荐
- TODO:Laravel增加验证码
TODO:Laravel增加验证码1. 先聊聊验证码是什么,有什么作用?验证码(CAPTCHA)是"Completely Automated Public Turing test to te ...
- AutoFac在项目中的应用
技能大全:http://www.cnblogs.com/dunitian/p/4822808.html#skill 完整Demo:https://github.com/dunitian/LoTCode ...
- PHP 5.6 编译安装选项说明
`configure' configures this package to adapt to many kinds of systems. Usage: ./configure [OPTION].. ...
- C# 多种方式发送邮件(附帮助类)
因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...
- 23种设计模式--单例模式-Singleton
一.单例模式的介绍 单例模式简单说就是掌握系统的至高点,在程序中只实例化一次,这样就是单例模式,在系统比如说你是该系统的登录的第多少人,还有数据库的连接池等地方会使用,单例模式是最简单,最常用的模式之 ...
- 伪共享(false sharing),并发编程无声的性能杀手
在并发编程过程中,我们大部分的焦点都放在如何控制共享变量的访问控制上(代码层面),但是很少人会关注系统硬件及 JVM 底层相关的影响因素.前段时间学习了一个牛X的高性能异步处理框架 Disruptor ...
- UWP开发之Template10实践二:拍照功能你合理使用了吗?(TempState临时目录问题)
最近在忙Asp.Net MVC开发一直没空更新UWP这块,不过有时间的话还是需要将自己的经验和大家分享下,以求共同进步. 在上章[UWP开发之Template10实践:本地文件与照相机文件操作的MVV ...
- 【转】39个让你受益的HTML5教程
闲话少说,本文作者为大家收集了网上学习HTML5的资源,期望它们可以帮助大家更好地学习HTML5. 好人啊! 不过,作者原来说的40个只有39个,因为第5个和第8个是重复的. 原文在此! 1. 五分钟 ...
- 《LoadRunner12七天速成宝典》来了
看到自己的新书又要发行了,算算从09年第一本书开始,不知不觉已经是第四本书了(帮朋友合写的书不算),每次写完之后都会说太累了,不想再写了,但是却又次次反悔,吞下食言的苦果.如果非要说第四本书的感受,那 ...
- C#关于分页显示
---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...