码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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. }

  • 相关阅读:
    内卷?泡沫?变革?十个问题直击“元宇宙”核心困惑丨《问Ta-王雷元宇宙时间》精华实录...
    什么蓝牙耳机续航强?续航好的蓝牙耳机推荐
    进程与线程的区别
    184基于matlab的相关向量机(RVM)回归和分类算法
    vue3-vant4-vite-pinia-axios-less学习日记
    桥接模式
    双目视觉测量系统在不同纵向距离中测量精度比对实验
    Shell-04条件判断
    zabbix
    含文档+PPT+源码等]精品基于Uniapp+SSM实现的校园心理健康APP[包运行成功]计算机毕业设计安卓项目源码
  • 原文地址:https://blog.csdn.net/2303_76295261/article/details/133653944
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号