C语言实现检查单词是否为变位词(相同字母的重新排列)
2011-10-24 22:20
1156 查看
#include<stdio.h> int main() { int a[26]={0},i=0,n=0,j=0; int arr[20]={0}; char ch='\0'; printf("Enter first word:"); ch=getchar(); while(ch != '\n') { if(ch>='A' && ch<='Z') arr[i++]=ch-'A'; else arr[i++]=ch-'a'; ch=getchar(); } arr[i]=0; for(n=0;n<i;n++) { if(a[arr ]) { a[arr ]++; continue; } a[arr ]=1; } /* for(n=0;n<26;n++) { printf("%c,%d\n",n+'a',a ); } */ printf("Enter the second word:"); ch=getchar(); while(ch != '\n') { if(ch>='A' && ch<='Z') { ch=ch-'A'; a[ch]--; } else { ch=ch-'a'; a[ch]--; } ch=getchar(); } for(j=0;j<26;j++) { if(a[j]!=0) { printf("The words are not anagrams."); break; } else { continue; } } if(j==26) { printf("The words are anagrams."); } getch(); }
相关文章推荐
- C语言来实现字符串反转 只有单词顺序反转,单词里的字母不反转
- ACM程序设计书中题目--z(两组字符串中单词的首字母是否相同)
- 按照单词的字母是否相同对字符串数组进行分组
- 按照单词的字母是否相同对字符串数组进行分组
- 编写一个程序,输入一串不超过60个字符组成的且不包含换行符的字符串,将字符串中的A到Z的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度相同,并且要求只对A到Z的字母重新排列,其
- c语言实现几种情况下字母和单词的计算
- C语言来实现字符串反转(只有单词反转,单词里的字母不反转)
- 用C语言实现判断两个数组中是否有相同的元素,有就输出“有”,没有则输出“没有”
- 字符串问题1:单词是否由相同字母组成
- leetcode 相同字母组成的不同单词归为一类即所谓的变位词
- 两个字符串hash问题:检查两个单词是否互为变位词和在一个字符串中第一个只出现一次的字符
- C++实现判断两个单词是否为变位词
- 给出一个2D板和一个单词,找出这个单词是否存在于网格中。 该单词可以由顺序相邻单元的字母构成,其中“相邻”单元是水平或垂直相邻的单元。 相同的字母单元可能不会被多次使用。
- Valid Anagram:验证不考虑字母顺序不同的单词是否相同
- C语言中利用封装好的函数实现英文字母的大小写转换
- 单词拼写检查器 C++实现
- JS实现的用来对比两个用指定分隔符分割的字符串是否相同
- 一个由24个字母组成的数组,其中每个字符出现3次(也就是8组相同字母,混序放在一个数组中),用程序实现将相同字母的下标存入一个8*3的数组中
- C语言实现非递归的比较两个二叉树是否同构
- 链表的初始化、遍历、删除、插入、判断是否为空、求长度 C语言实现