栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

编写一个函数escape(s,t),当它将字符串t复制到s时,将换行符和制表符之类的字符转换为可见的转义序列,如 和 。

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

编写一个函数escape(s,t),当它将字符串t复制到s时,将换行符和制表符之类的字符转换为可见的转义序列,如
和	。

Write a function escape(s,t) that converts characters like newline and tab into visible escape sequences like n and t as it copies the string t to s.

Use a switch.

函数接口定义:
void escape(char [], char []);

裁判测试程序样例:
#include 
#include 
//using namespace std;
//constexpr int N = 100001;
const int N = 100001;

void escape(char [], char []);
int getline(char []);

int main()
{
    char s[N * 2], t[N];

    while(getline(t) != EOF) {
        escape(s, t);
        printf("%sn", s);
    }

    return 0;
}

int getline(char t[])
{
    int l = 0;
    char c;

    while(l + 2 <= N && (c = getchar()) != 'n' && c != EOF)
        t[l++] = c;

    if(c == EOF) return EOF;

    assert(l + 2 <= N);
    t[l++] = 'n';
    t[l++] = '';

    return l;
}


输入样例:
aaa sss

结尾无空行

输出样例:
aaa sssn

结尾无空行

网站上有不少用switch case的答案,我这里就用if语句了

void escape(char a[], char b[]){
        int i,j;
    for(i=0,j=0;b[i]!='';i++,j++){
        
if(b[i]=='t'){
        a[j]='\';
    j++;
    a[j]='t';
}
       else if(b[i]=='n'){
            a[j]='\';
            j++;
            a[j]='n';
        }
       else a[j]=b[i];
    }
    a[j+1]='';
 
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/655698.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号