• 1029 旧键盘


    一.问题:

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

    输入格式:

    输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。

    输出格式:

    按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有 1 个坏键。

    输入样例:

    1. 7_This_is_a_test
    2. _hs_s_a_es

    输出样例:

    7TI

    二.思路:

            先两层循环找出没有输出的字符,单独存放在一个字符数组str3里,然后自定义一个函数将str3里面的所有英文字符确保全变为大写,再排除重复字符(变为'\0');这样就好输出了

    三.代码实现:

    1. #include
    2. #include
    3. //先将英文字符全部转换为大写,再去除重复字符,顺序不能乱,不然有问题
    4. void func(char *str,int len)
    5. {
    6. //将英文字符全部转换为大写
    7. for(int i =0;i< len;i++)
    8. {
    9. if(str[i] != '\0')
    10. {
    11. if(str[i] >= 'a'&&str[i] <= 'z')
    12. {
    13. str[i] = toupper(str[i]);
    14. }
    15. }
    16. }
    17. //去除重复字符将其转换为'\0'
    18. for(int i =0;i< len;i++)
    19. {
    20. for(int j =i+1;j< len;j++)
    21. {
    22. if(str[i] == str[j])
    23. {
    24. str[j] = '\0';
    25. }
    26. }
    27. }
    28. }
    29. int main()
    30. {
    31. //输入数据
    32. char str1[81];//应该输入的文字字符串
    33. char str2[81];//实际被输入的文字字符串
    34. char str3[81];//坏掉键位的文字字符串
    35. scanf("%s",str1);
    36. scanf("%s",str2);
    37. //挑出没有输出的字符,即坏掉的键位符,存储到str3
    38. int t=0;
    39. for(int i =0;str1[i] != '\0';i++)
    40. {
    41. int flag = 0;
    42. for(int j =0;str2[j] != '\0';j++)
    43. {
    44. if(str1[i] == str2[j])
    45. {
    46. flag = 1;
    47. }
    48. }
    49. if(!flag)
    50. {
    51. str3[t] = str1[i];
    52. t++;
    53. }
    54. }
    55. //英文字符转大写,去除去除重复字符
    56. func(str3,t);
    57. //输出结果
    58. for(int i =0;i < t;i++)
    59. {
    60. if(str3[i] != '\0')
    61. {
    62. printf("%c",str3[i]);
    63. }
    64. }
    65. putchar('\n');
    66. return 0;
    67. }

  • 相关阅读:
    【计算机网络】网络编程 Socket
    在 Git Bash 中为 vim 设置 Dracula 配色
    三勾商城(java+vue3)微信小程序商城+SAAS+前后端源码
    Linux系统安全及应用
    42. 接雨水[动态规划+双指针]
    微信小程序的在线课外阅读打卡记录系统uniapp
    wpf中的Border和Background
    如何入行软件开发——常见问题及岗位分工
    【数据结构与算法】JavaScript实现双向链表
    深度学习乳腺癌分类 计算机竞赛
  • 原文地址:https://blog.csdn.net/2303_76295261/article/details/133653944