zoukankan      html  css  js  c++  java
  • C语言 · Anagrams问题

    问题描述
      Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
      输入格式:输入有两行,分别为两个单词。
      输出格式:输出只有一个字母Y或N,分别表示Yes和No。
      输入输出样例
    样例输入
    Unclear
    Nuclear
    样例输出
    Y
     
     
      1 /*
      2     思路:都转换成小写,在长度相等的情况下,
      3           分别遍历记录下每个字母出现的次数。
      4           最后比较各个数字是否相等。
      5     
      6     字符串数组长度:100 ——单词长度不会超过80。 
      7 */
      8 #include<stdio.h>
      9 #include<string.h>
     10 #include<iostream>
     11 #include<ctype.h>//C语言转换大小写头文件 
     12 int main(){
     13     char c1[100],c2[100];//定义字符串数组 
     14     int a[26],b[26];//记录出现次数 
     15     memset(a,0,sizeof(a));
     16     memset(b,0,sizeof(b));
     17     scanf("%s
    %s",c1,c2);
     18     int len1,len2;
     19     len1=strlen(c1);//求字符串长度
     20     len2=strlen(c2);
     21     int i;
     22 
     23     if(len1 != len2){
     24         printf("N");
     25     }else{
     26         /*遍历c1*/
     27         for(i = 0; i < len1; i++){
     28 //            str1[i] = tolower(c1[i]);
     29             if(c1[i] == 'a'||c1[i] == 'A')
     30                 a[0]++;
     31             else if(c1[i] == 'b'||c1[i] == 'B')
     32                 a[1]++;
     33             else if(c1[i] == 'c'||c1[i] == 'C')
     34                 a[2]++;
     35             else if(c1[i] == 'd'||c1[i] == 'D')
     36                 a[3]++;
     37             else if(c1[i] == 'e'||c1[i] == 'E')
     38                 a[4]++;
     39             else if(c1[i] == 'f'||c1[i] == 'F')
     40                 a[5]++;
     41             else if(c1[i] == 'g'||c1[i] == 'G')
     42                 a[6]++;
     43             else if(c1[i] == 'h'||c1[i] == 'H')
     44                 a[7]++;
     45             else if(c1[i] == 'i'||c1[i] == 'I')
     46                 a[8]++;
     47             else if(c1[i] == 'j'||c1[i] == 'J')
     48                 a[9]++;
     49             else if(c1[i] == 'k'||c1[i] == 'K')
     50                 a[10]++;
     51             else if(c1[i] == 'l'||c1[i] == 'L')
     52                 a[11]++;
     53             else if(c1[i] == 'm'||c1[i] == 'M')
     54                 a[12]++;
     55             else if(c1[i] == 'n'||c1[i] == 'N')
     56                 a[13]++;
     57             else if(c1[i] == 'o'||c1[i] == 'O')
     58                 a[14]++;
     59             else if(c1[i] == 'p'||c1[i] == 'P')
     60                 a[15]++;
     61             else if(c1[i] == 'q'||c1[i] == 'Q')
     62                 a[16]++;
     63             else if(c1[i] == 'r'||c1[i] == 'R')
     64                 a[17]++;
     65             else if(c1[i] == 's'||c1[i] == 'S')
     66                 a[18]++;
     67             else if(c1[i] == 't'||c1[i] == 'T')
     68                 a[19]++;
     69             else if(c1[i] == 'u'||c1[i] == 'U')
     70                 a[20]++;
     71             else if(c1[i] == 'v'||c1[i] == 'V')
     72                 a[21]++;
     73             else if(c1[i] == 'w'||c1[i] == 'W')
     74                 a[22]++;
     75             else if(c1[i] == 'x'||c1[i] == 'X')
     76                 a[23]++;
     77             else if(c1[i] == 'y'||c1[i] == 'Y')
     78                 a[24]++;
     79             else if(c1[i] == 'z'||c1[i] == 'Z')
     80                 a[25]++;
     81         }
     82 
     83         /*遍历c2*/
     84         for(i = 0; i < len2; i++){
     85 //            c2[i] = tolower(c2[i]);
     86             if(c2[i] == 'a' || c2[i] == 'A')
     87                 b[0]++;
     88             else if(c2[i] == 'b'||c2[i] == 'B')
     89                 b[1]++;
     90             else if(c2[i] == 'c'||c2[i] == 'C')
     91                 b[2]++;
     92             else if(c2[i] == 'd'||c2[i] == 'D')
     93                 b[3]++;
     94             else if(c2[i] == 'e'||c2[i] == 'E')
     95                 b[4]++;
     96             else if(c2[i] == 'f'||c2[i] == 'F')
     97                 b[5]++;
     98             else if(c2[i] == 'g'||c2[i] == 'G')
     99                 b[6]++;
    100             else if(c2[i] == 'h'||c2[i] == 'H')
    101                 b[7]++;
    102             else if(c2[i] == 'i'||c2[i] == 'I')
    103                 b[8]++;
    104             else if(c2[i] == 'j'||c2[i] == 'J')
    105                 b[9]++;
    106             else if(c2[i] == 'k'||c2[i] == 'K')
    107                 b[10]++;
    108             else if(c2[i] == 'l'||c2[i] == 'L')
    109                 b[11]++;
    110             else if(c2[i] == 'm'||c2[i] == 'M')
    111                 b[12]++;
    112             else if(c2[i] == 'n'||c2[i] == 'N')
    113                 b[13]++;
    114             else if(c2[i] == 'o'||c2[i] == 'O')
    115                 b[14]++;
    116             else if(c2[i] == 'p'||c2[i] == 'P')
    117                 b[15]++;
    118             else if(c2[i] == 'q'||c2[i] == 'Q')
    119                 b[16]++;
    120             else if(c2[i] == 'r'||c2[i] == 'R')
    121                 b[17]++;
    122             else if(c2[i] == 's'||c2[i] == 'S')
    123                 b[18]++;
    124             else if(c2[i] == 't'||c2[i] == 'T')
    125                 b[19]++;
    126             else if(c2[i] == 'u'||c2[i] == 'U')
    127                 b[20]++;
    128             else if(c2[i] == 'v'||c2[i] == 'V')
    129                 b[21]++;
    130             else if(c2[i] == 'w'||c2[i] == 'W')
    131                 b[22]++;
    132             else if(c2[i] == 'x'||c2[i] == 'X')
    133                 b[23]++;
    134             else if(c2[i] == 'y'||c2[i] == 'Y')
    135                 b[24]++;
    136             else if(c2[i] == 'z'||c2[i] == 'Z')
    137                 b[25]++;
    138         }
    139         for(i=0;i<26;i++){
    140             if(a[i] != b[i]){
    141                 printf("N");
    142                 break;
    143             }
    144         }
    145         if(i>=26){
    146             printf("Y");
    147         }
    148     }
    149     return 0;
    150 }
  • 相关阅读:
    Ducking
    MINITAB(二)
    JFreechart
    linux命令0424
    JAVA哈哈镜
    HTML(四)
    The 3n+1 problem
    [转载]:【读书笔记】.NET本质论
    ER图基本步骤
    [从架构到设计]第一回:设计,应该多一点(转载)
  • 原文地址:https://www.cnblogs.com/panweiwei/p/6255247.html
Copyright © 2011-2022 走看看