C编程练习007

1、题目

给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:
  
1:两个字符串长度不等。比如 Beijing 和 Hebei
  
2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing
  
3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。
比如 beijing 和 BEIjing
  
4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing
   编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。

1.1 输入

包括两行,每行都是一个字符串

1.2 输出

仅有一个数字,表明这两个字符串的关系编号

1.3 样例输入

BEIjing

beiJing

1.4 样例输出

3

2、代码

/*******************************************************************************************************
** 题    目: 给定两个仅由大写字母或小写字母组成的字符串(长度介于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 <ctype.h>


// 主函数
int main(void)
{
    char arr1[11] = {0}, arr2[11] = {0};
    int arr1_len = 0, arr2_len = 0;
    int i = 0;

    scanf("%s%s",arr1,arr2);
    arr1_len = strlen(arr1);
    arr2_len = strlen(arr2);

    // 两字符串长度不相等,输出1
    if (arr1_len != arr2_len)
    {
        printf("1\n");
    }
    // 两字符串长度相等
    else  
    {
        // 两字符串各字符相同,输出2
        if (!strcmp(arr1, arr2))
        {
            printf("2\n");
        }
        // 两字符串各字符不全相同
        else
        {
            // 两字符串各字符转换为小写
            for (i = 0; i < arr1_len; i++)
            {
                arr1[i] = tolower(arr1[i]);
                arr2[i] = tolower(arr2[i]);
            }
            // 再次判断,若各字符相同则输出3
            if (!strcmp(arr1, arr2))
            {
                printf("3\n");
            }
            // 若各字符不同则输出4
            else
            {
                printf("4\n");
            }
        }
    }

    return 0;
}

运行结果

VUvLJe.png


VcSFJJ.md.png


 上一篇
C编程练习008 C编程练习008
1、题目 自定义atoi函数 atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。int atoi(const char *nptr)函数会扫描参数 nptr字符串,会跳过前
2018-06-10
下一篇 
C编程练习006 C编程练习006
1、题目 在一个有限的正整数序列中,有些数会多次重复出现在这个序列中。如序列3,1,2,1,5,1,2。其中1就出现3次,2出现2次,3出现1次,5出现1次。要求对于给定的正整数序列,从小到大依次输出序列中出现的数及出现的次数。 数据约定
2018-06-05
  目录