| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1494 人关注过本帖
标题:【求助】,这段代码错在哪里了?
只看楼主 加入收藏
汪小贱
Rank: 2
等 级:论坛游民
帖 子:24
专家分:36
注 册:2017-1-23
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:5 
【求助】,这段代码错在哪里了?
/*
问题描述
  给定两个仅由大写字母或小写字母组成的字符串(长度介于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>
#include<stdlib.h>
int main()
{
    char a[10];
    char b[10];
    int i = 0;
    int c = 0;
    int len1 = 0, len2 = 0;
    gets(a);
    gets(b);
    len1 = strlen(a);
    len2 = strlen(b);
    if (len1 != len2)
        printf("1");
    if (len1==len2)
    {
        if (strcmp(a, b) == 0)
                c = 2;
        if (strcmp(a, b) != 0 && strcmp(strlwr(a), strlwr(b)) == 0)
                c = 3;
        if (strcmp(a, b) != 0)
                c = 4;
    }
    if (c = 2)
        printf("2");
    if (c = 3)
        printf("3");
    if (c = 4)
        printf("4");
    return 0;
}
搜索更多相关主题的帖子: 区分大小写 beijing 字符串 而且 字母 
2017-03-08 14:03
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
是编译不过  还是运行不过  怎么问这么模糊嫩

DO IT YOURSELF !
2017-03-08 14:32
Leo_L
Rank: 2
等 级:论坛游民
帖 子:21
专家分:27
注 册:2017-2-26
收藏
得分:10 
注意“=”和“= =”的使用,

这是我做过修改的,你试试

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
    char a[10];
    char b[10];
    int i = 0;
    int c = 0;
    int len1 = 0, len2 = 0;
    gets(a);
    gets(b);
    len1 = strlen(a);
    len2 = strlen(b);
    if (len1 != len2)
        printf("1");
    if (len1==len2)
    {
        if (strcmp(a, b) == 0)
                c = 2;
        else if (strcmp(a, b) != 0 && strcmp(strlwr(a), strlwr(b)) == 0)
                c = 3;
        else   // if(strcmp(a, b) != 0 )
                c = 4;
    }
    if(c==2)//if (c = 2)
        printf("2");
    if(c==3)//if (c = 3)
        printf("3");
    if(c==4)//if (c = 4)
        printf("4");
    return 0;
}

元气少女Leo_L
2017-03-08 15:08
mnmn4429
Rank: 4
等 级:业余侠客
帖 子:64
专家分:245
注 册:2017-2-21
收藏
得分:0 
#include<string .h>
.往前移一格
2017-03-08 15:14
mnmn4429
Rank: 4
等 级:业余侠客
帖 子:64
专家分:245
注 册:2017-2-21
收藏
得分:10 
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
    char a[10];
    char b[10];
    int i;
    int len1 , len2 ;
    gets(a);
    gets(b);
    len1 = strlen(a);
    len2 = strlen(b);
    if(len1 != len2)
        printf("1");
    else
    {
        for(i=0;i<len1;i++)
        {
            if(a[i] != b[i])
                break;
        }
        if(i == 4)
            printf("2");
        else
        {
            for(;i<len1;i++)
            {
                if(toupper(a[i]) != toupper(b[i]))
                {   
                    printf("4");
                    break;
                }
            }
            if(i == 4)
                printf("3");
        }
    }
    return 0;
}
没搞懂strcmp是什么意思,我就用了我的办法
2017-03-08 15:59
汪小贱
Rank: 2
等 级:论坛游民
帖 子:24
专家分:36
注 册:2017-1-23
收藏
得分:0 
谢谢!问题已经解决了!
2017-03-08 19:38
快速回复:【求助】,这段代码错在哪里了?
数据加载中...
 
   



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

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