余skr 2023-01-11 17:15 采纳率: 92.3%
浏览 79
已结题

c语言变位词问题请帮我

我感觉我没有找到我的错误的地方,请帮我指出一下,谢谢
题目描述
如果两个单词的组成字母完全相同,只是字母的排列顺序不一样,则它们就是变位词,两个单词相同也被认为是变位词。如tea 与eat , nic 与cin, ddc与dcd, abc与abc 等。你的任务就是判断它们是否是变位词。

输入
第一行一个N,表示下面有N行测试数据。每行测试数据包括两个单词,如tea eat ,它们之间用空格割开

输出
对于每个测试数据,如果它们是变位词,输出Yes,否则输出No.

样例输入
3
tea eat
ddc cdd
dee dde
样例输出
Yes
Yes
No

#include<stdio.h>
#include<string.h>
int main(){
    int n,i,s=0,j,k,z,l,m=0;
    char a[10005],b[10005];
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%s %s",a,b);
        k=strlen(a);
    for(j=0;j<k;j++){
        if(a[j]==b[j]) m++;
    }
    if(m==k){
    printf("NO\n");
    m=0;}
    else if(m!=k){
    for(j=0;j<k-1;j++){
        for(z=j;z<k;z++){
            if(a[z]>a[j]){
                l=a[z];
                a[z]=a[j];
                a[j]=l;
            }
        }
    }
    for(j=0;j<k-1;j++){
        for(z=j;z<k;z++){
            if(b[z]>b[j]){
                l=b[z];
                b[z]=b[j];
                b[j]=l;
            }
        }
    }
    for(j=0;j<k;j++){
        if(a[j]==b[j]) s++;
    }
    if(s==k) printf("YES\n");
    else if(s!=k) printf("NO\n");
    s=0;k=0;
    }}
    return 0;
}

  • 写回答

2条回答 默认 最新

  • 吉吉果 2023-01-11 20:41
    关注

    单词相同也是变位词,第一个判断就不对
    下面是我写的,仅供参考

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int n,i,m=0,j,k,z;
        char a[1005],b[1005];
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
            scanf("%s%s",a,b);
            k=strlen(a);
            for(j=0;j<k;j++)
            for(z=0;z<k;z++)
            {
                if(a[j]==b[z])
                {
                    m++;
                    b[z]=48;
                    break;
                }
            }
            if(m==k)
            {
                printf("Yes\n");
            }
            if(m!=k)
            {
                printf("No\n");
            }
            m=0;
        }
    }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月9日
  • 已采纳回答 4月1日
  • 创建了问题 1月11日

悬赏问题

  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 three.js添加后处理以后模型锯齿化严重