查看原文
其他

C语言每日一练(007)

题目

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

输入

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

输出

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

样例输入

BEIjing

beiJing

样例输出

3

代码

  1. /*******************************************************************************************************

  2. ** 题 目: 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:

  3.    1:两个字符串长度不等。比如 Beijing 和 Hebei

  4.    2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing

  5.    3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。

  6. 比如 beijing 和 BEIjing

  7.    4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing

  8.    编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。


  9. ** 输 入: 包括两行,每行都是一个字符串

  10. ** 输 出: 仅有一个数字,表明这两个字符串的关系编号

  11. ** 样例输入:

  12. BEIjing

  13. beiJing

  14. ** 样例输出:3

  15. ********************************************************************************************************/

  16. #include <stdio.h>

  17. #include <string.h>

  18. #include <ctype.h>



  19. // 主函数

  20. int main(void)

  21. {

  22. char arr1[11] = {0}, arr2[11] = {0};

  23. int arr1_len = 0, arr2_len = 0;

  24. int i = 0;


  25. scanf("%s%s",arr1,arr2);

  26. arr1_len = strlen(arr1);

  27. arr2_len = strlen(arr2);


  28. // 两字符串长度不相等,输出1

  29. if (arr1_len != arr2_len)

  30. {

  31. printf("1\n");

  32. }

  33. // 两字符串长度相等

  34. else

  35. {

  36. // 两字符串各字符相同,输出2

  37. if (!strcmp(arr1, arr2))

  38. {

  39. printf("2\n");

  40. }

  41. // 两字符串各字符不全相同

  42. else

  43. {

  44. // 两字符串各字符转换为小写

  45. for (i = 0; i < arr1_len; i++)

  46. {

  47. arr1[i] = tolower(arr1[i]);

  48. arr2[i] = tolower(arr2[i]);

  49. }

  50. // 再次判断,若各字符相同则输出3

  51. if (!strcmp(arr1, arr2))

  52. {

  53. printf("3\n");

  54. }

  55. // 若各字符不同则输出4

  56. else

  57. {

  58. printf("4\n");

  59. }

  60. }

  61. }


  62. return 0;

  63. }

运行结果

转发、点在看就是对小编最大的支持!


猜你喜欢

C语言每日一练(001)

C语言每日一练(002)

C语言每日一练(003)

C语言每日一练(004)

C语言每日一练(005)

C语言每日一练(006)

【Linux笔记】Linux下编译C程序

【Linux笔记】make工程管理工具(二)



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存