zoukankan      html  css  js  c++  java
  • 1029 旧键盘

    1029 旧键盘 (20分)
     

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

    输入格式:

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

    输出格式:

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

    输入样例:

    7_This_is_a_test
    _hs_s_a_es
    
     

    输出样例:

    7TI

        这道题是比较简单的,但是要注意一个坑点,就是实际输入的字符串s2遍历到末尾结束了而应该输入的字符串s1可能还没遍历到末尾,s1后面可能还会有一些坏键,

    所以要处理好这种情况,附上代码

     1 #include<iostream>
     2 #include<string>
     3 using namespace std;
     4 int main()
     5 {
     6     int flag[96]={0}; //flag初始化为0;代表坏掉的键还没输出;A、Z、'_'的码值分别是65、90、95
     7     string s1,s2;
     8     cin>>s1>>s2;
     9     for(int i=0,j=0;i<s1.length();) {
    10         if(s1[i]!=s2[j]) {  //输出坏掉的键
    11             if('a'<=s1[i]&&s1[i]<='z')   //如果是小写,就转换成对应的大写
    12                 s1[i]=s1[i]-32;
    13             if(flag[(int)s1[i]]==0)  {  //坏掉的键还没输出
    14                     cout<<s1[i];
    15                     flag[(int)s1[i]]=1;
    16             }
    17             i++;
    18         }
    19         else {
    20             if(j==s2.length()-1)  //s2到了末尾,只需要递增i即可,直至i到末尾
    21                 i++;
    22             else{
    23                 i++;
    24                 j++;
    25             }
    26         }
    27     }
    28     return 0;
    29 }

        注意,第9行for(int i=0,j=0;i<s1.length(); 这条语句不能写成 for(int i=0,j=0;i<s1.length()&&j<s2.length();) 因为最后一个测试点通不过,就比如下面的这组数据就通不过,
    原因很简单,因为实际输入的字符串s2遍历到末尾结束了而应该输入的字符串s1可能还没遍历到末尾,s1后面可能还会有一些坏键,但是由于循环已经退出了,将导致他们不能输出,从而导致错误
    可以测试一下下面的这个数据
    7_This_is_a_tesc
    _hs_s_a_es

        ac了

  • 相关阅读:
    ISO/IEC 9899:2011 条款5——5.2.2 字符显示语义
    ISO/IEC 9899:2011 条款5——5.2.1 字符集
    ISO/IEC 9899:2011 条款5——5.2 环境上的考虑
    nVidia GPGPU vs AMD Radeon HD Graphics执行模式对比
    ISO/IEC 9899:2011 条款5——5.1.2 执行环境
    ISO/IEC 9899:2011 条款5——5.1.1 翻译环境
    ISO/IEC 9899:2011 条款5——5.1 概念模型
    ISO/IEC 9899:2011 条款5——环境
    ISO/IEC 9899:2011 条款4——标准顺从
    php利用phpexcel导出数据
  • 原文地址:https://www.cnblogs.com/buanxu/p/12813427.html
Copyright © 2011-2022 走看看