zoukankan      html  css  js  c++  java
  • 历届试题_空白格式化


    标题:空白格式化
        本次大赛采用了全自动机器测评系统。
        如果你的答案与标准答案相差了一个空格,很可能无法得分,所以要加倍谨慎!
        但也不必过于惊慌。因为在有些情况下,测评系统会把你的答案进行“空白格式化”。其具体做法是:去掉所有首尾空白;中间的多个空白替换为一个空格。所谓空白指的是:空格、制表符、回车符。
        以下代码实现了这个功能。仔细阅读代码,填写缺失的部分。

    void f(char* from, char* to)
    {
     char* p_from = from;
     char* p_to = to;
     
     while(*p_from==' ' || *p_from==' ' || *p_from==' ') p_from++;
     
     do{
      if(*p_from==' ' || *p_from==' ' || *p_from==' '){
       do{p_from++;} while(*p_from==' ' || *p_from==' ' || *p_from==' ');
       if(____________________) *p_to++ = ' ';  //填空位置
      }
     }while(*p_to++ = *p_from++);
    }

        请分析代码逻辑,并推测划线处的代码,通过网页提交。
        注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!!
    这道题仔细分析就可以知道是指针指向非题中的三种字符此时指针to才保留一个空格,但要注意的一点是下面代码注释除,这样写是有问题的。,一句话就是char*的内容存放在常量区,不可修改,否则出现系统崩溃问题,具体参考这篇博客:https://blog.csdn.net/yahohi/article/details/7427724(哎,基础没打好真的很容易被嘲笑,)
     1 #include<bits/stdc++.h>
     2 
     3 using namespace std;
     4 
     5 void f(char* from, char* to)
     6 {
     7     char* p_from = from;
     8     char* p_to = to;
     9     
    10     while(*p_from==' ' || *p_from=='	' || *p_from=='
    ') p_from++;
    11     
    12     do{
    13         if(*p_from==' ' || *p_from=='	' || *p_from=='
    '){ 
    14             do{
    15             p_from++;
    16             } while(*p_from==' ' || *p_from=='	' || *p_from=='
    ');
    17             if(*p_from!=NULL) *p_to++ = ' ';  //填空位置
    18         }
    19     }while(*p_to++ = *p_from++);
    20 }
    21 
    22 
    23 int main()
    24 {
    25    char a[]="   asad v     dwdwdw";
    26    char b[]="";
    27    //char* a="   asad v     dwdwdw";
    28    //char* b="";
    29    f(a,b);
    30    cout << b<< "=b"<<endl;
    31     return 0;
    32  }
  • 相关阅读:
    腾讯// 反转字符串
    腾讯//Multiply Strings 字符串相乘
    腾讯//盛最多水的容器
    腾讯//删除排序数组中的重复项
    腾讯//删除排序数组中的重复项
    C语言中的预处理命令
    Python十大应用领域与就业方向
    Python的主要应用领域及应用场景
    Git命令_git status
    Git命令_git add快速添加文件到暂存区
  • 原文地址:https://www.cnblogs.com/henuliulei/p/10849573.html
Copyright © 2011-2022 走看看