标题:怎们编写这个C语言程序
取消只看楼主
Sandy143
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-3-23
结帖率:66.67%
已结贴  问题点数:10 回复次数:1 
怎们编写这个C语言程序
问题描述
  Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
搜索更多相关主题的帖子: 英文字母 区分大小写 C语言 单词 
2015-03-23 22:19
Sandy143
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-3-23
得分:0 
非常感谢!可是能帮我看看这个为什么不行吗
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define size 100
bool solve(char *a,char *b,int m,int n);
int main(){
    int m,n,i,j;
    char a[size];
    char b[size];
    fgets(a,size,stdin);
    fgets(b,size,stdin);
    m=strlen(a);
    n=strlen(b);
    for(i=0;i<m;i++)
    toupper(a[i]);
    for(j=0;j<n;j++)
    toupper(b[j]);
    if(solve(a,b,m,n))
    puts("Yes");
    else
    puts("NO");
}
bool solve(char a[],char b[],int m,int n){
    int i,j,k;
    bool p=true;
    for(i=0;i<m;i++){
        for(j=0;j<n;j++){
            if((a[i]==b[j])&&(isupper(b[j])))
            tolower(b[j]);
        }
    }
    for(k=0;k<n;k++){
        if(isupper(b[k]))
        p=false;     
    }
}
2015-03-24 23:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-442998-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.307470 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved