• 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. }

  • 相关阅读:
    基于PHP+MySQL的教室自习室预约信息管理系统#毕业设计
    手机+卫星的科技狂想
    入职美团定级P7,总结2022年最新最全180道高级岗面试题及答案
    vue 可视化大屏适配插件之过程篇
    vue中修改css的animation的@keyframe数值
    java计算机毕业设计物业综合信息管理系统源程序+mysql+系统+lw文档+远程调试
    文件操作与IO
    jQuery入门
    在EXCEL中构建加载项之创建加载项的目的及规范要求
    #DAYU200#Ability入门
  • 原文地址:https://blog.csdn.net/2303_76295261/article/details/133653944