蓝桥杯:算法训练 Anagrams问题
来源:互联网 发布:ftp传输数据的具体方式 编辑:程序博客网 时间:2024/05/20 23:03
问题描述
Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
输入输出样例
样例输入
Unclear
Nuclear
样例输出
Y
思想:
先把单词的字母全部换成小写。
对于每一个单词,有:
#include<stdio.h> #include<string.h> void A2a(char* s);void count(int* A,char* s);int main(){ char s1[88]={'\0'}; char s2[88]={'\0'}; int A[26+1]={0}; int B[26+1]={0}; int i=0; //输入数据 gets(s1); gets(s2); //字符串大写都变成小写 A2a(s1); A2a(s2); //对每个单词的每个字母进行统计 count(A,s1); count(B,s2); //比较A与B是否相同 for(i=1;i<=26;i++) { if(A[i]!=B[i]) { printf("N"); return 0; } } printf("Y"); return 0;}void A2a(char* s){ int i=0; int l=strlen(s); for(i=0;i<l;i++) { if(s[i]>='A' && s[i]<='Z') { s[i]=s[i]+32; } } return;}void count(int* A,char* s){ int i=0; int l=strlen(s); for(i=0;i<l;i++) { A[s[i]-'a'+1]++; } return;}
0 0
- 蓝桥杯-算法训练-Anagrams问题
- 蓝桥杯---算法训练 Anagrams问题
- 蓝桥杯 算法训练 Anagrams问题
- 蓝桥杯 算法训练 Anagrams问题
- 蓝桥杯- 算法训练 Anagrams问题
- 蓝桥杯:算法训练 Anagrams问题
- 蓝桥杯- 算法训练 Anagrams问题
- 蓝桥杯 算法训练 Anagrams问题
- 蓝桥杯 算法训练 Anagrams问题
- [蓝桥杯]算法训练 Anagrams问题
- 蓝桥杯 算法训练 Anagrams问题
- 算法训练 Anagrams问题
- 算法训练 Anagrams问题
- 算法训练 Anagrams问题
- 算法训练 Anagrams问题
- 算法训练 Anagrams问题
- 算法训练 Anagrams问题
- 算法训练 Anagrams问题
- BZOJ4750 密码安全
- linux目录命令基础
- 学习总结:Dsu on tree 树上启发式合并
- 将C++对象嵌入到带有上下文属性的QML中
- Vim系列-选择多行
- 蓝桥杯:算法训练 Anagrams问题
- ajax的运用
- django查询mysql数据 从数据库提出并分页展示
- Linux下shell编程入门
- C++数据类型中的复合类型
- 38. Count and Say(unsolved)
- GCD & LCM Inverse POJ
- 仿射变换和射影变换
- L1-020. 帅到没朋友