| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5251 人关注过本帖
标题:字符串的对比
取消只看楼主 加入收藏
不同认为
Rank: 1
等 级:新手上路
帖 子:93
专家分:3
注 册:2015-11-25
结帖率:57.14%
收藏
已结贴  问题点数:15 回复次数:4 
字符串的对比
问题描述
  给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:
  1:两个字符串长度不等。比如 Beijing 和 Hebei
  2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing
  3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing
  4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing
  编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。

输入格式
  包括两行,每行都是一个字符串
输出格式
  仅有一个数字,表明这两个字符串的关系编号
样例输入
BEIjing
beiJing
样例输出
3
我的代码如下
#include<stdio.h>
#include<string.h>
int main()
{
    char a[100],b[100],q,w,i,t;
    gets(a);
    gets(b);
    q=strlen(a);
    w=strlen(b);
    if(q!=w)
        printf("0\n");
         return 0;
    for(i=0;i<q;i++)
        {
            if(a[i]==b[i]||a[i]==b[i]-32||a[i]==b[i]+32)
            {
                t=1;
              continue;
            }
            else
            break;
        }
    if(t==1)
        printf("3\n");
    for(i=0;i<q;i++)
        {
            if(a[i]==b[i])
            {
                t=2;
               continue;
            }
            else
            break;
        }
    if(t==2)
        printf("2\n");
    for(i=0;i<q;i++)
    {
        if(a[i]!=b[i])
        {
            printf("4\n");
            return 0;
            }
    }
    return 0;
}
只要输入长度相等的字符串就没有输入 这是为什么         
   


               
                                       


搜索更多相关主题的帖子: 区分大小写 beijing 字符串 而且 字母 
2016-01-27 18:48
不同认为
Rank: 1
等 级:新手上路
帖 子:93
专家分:3
注 册:2015-11-25
收藏
得分:0 
回复 2楼 beyondyf
改了一下 这个逻辑哪里错了
#include<stdio.h>
#include<string.h>
int main()
{
    char a[100],b[100],q,w,i,t;
    gets(a);
    gets(b);
    q=strlen(a);
    w=strlen(b);
    if(q!=w)
    {
        printf("0\n");
         return 0;
    }
    for(i=0;i<q;i++)
        {
            if(a[i]==b[i]||a[i]==b[i]-32||a[i]==b[i]+32)
            {
                t=1;
              continue;
            }
            else
            {
                t=0;
            break;
            }
        }
    if(t==1)
        printf("3\n");
    for(i=0;i<q;i++)
        {
            if(a[i]==b[i])
            {
                t=2;
               continue;
            }
            else
            {
                t=3;
               break;
            }
        }
    if(t==2)
        printf("2\n");
    for(i=0;i<q;i++)
    {
        if(a[i]!=b[i])
            t=4;
        else
        {
            t=5;
            break;
        }
         
    }
   if(t==4)
       printf("4\n");
   return 0;
}
2016-01-27 22:03
不同认为
Rank: 1
等 级:新手上路
帖 子:93
专家分:3
注 册:2015-11-25
收藏
得分:0 
回复 4楼 拉链
我已经把我原来的代码改好了
2016-01-27 22:41
不同认为
Rank: 1
等 级:新手上路
帖 子:93
专家分:3
注 册:2015-11-25
收藏
得分:0 
#include<stdio.h>
#include<string.h>
int main()
{
    char a[100],b[100],q,w,i,t;
    gets(a);
    gets(b);
    q=strlen(a);
    w=strlen(b);
    if(q!=w)
    {
        printf("0\n");
         return 0;
    }
    for(i=0;i<q;i++)
        {
            if(a[i]==b[i])
            {
               
                t=2;
               continue;
            }
            else
            {
                t=3;
               break;
            }
        }
    if(t==2)
    {
        printf("2\n");
        return 0;
    }
    for(i=0;i<q;i++)
        {
            if(a[i]==b[i]||a[i]==b[i]-32||a[i]==b[i]+32)
            {
                t=1;
              continue;
            }
            else
            {
                t=0;
            break;
            }
        }
    if(t==1)
    {
        printf("3\n");
       return 0;
    }
    for(i=0;i<q;i++)
    {
        if(a[i]!=b[i])
        {
            t=4;
            break;
        }
         
    }
   if(t==4)
       printf("4\n");
   return 0;
}
2016-01-27 22:42
不同认为
Rank: 1
等 级:新手上路
帖 子:93
专家分:3
注 册:2015-11-25
收藏
得分:0 
回复 7楼 ms268el8
看着是挺长 不过写起来挺快的
2016-01-27 23:25
快速回复:字符串的对比
数据加载中...
 
   



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

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