【C语言】之''换码序列的拷贝''

老师平时布置的希冀系统上的作业答案,仅供参考!

【问题描述】

编写函数escape(s,t),将字符串t拷贝到字符串s中,并在拷贝过程中将诸如换行符与制表符转换成诸如\n\t等换码序列.编写一个程序,将输入的字符串(含有换行符,制表符)进行转换,并输出.

【输入形式】

控制台输入字符串t, t中可能含有换行符和制表符。t的长度不超过50个字符。

【输出形式】

控制台输出对t进行换码序列转换后的字符串s.

【样例输入】

currently,two versions of the CLDC specification are avilable:
CLDC 1.0
CLDC 1.1

【样例输出】

currently,two versions of the CLDC specification are avilable:\n\tCLDC 1.0\n\tCLDC 1.1\n

【样例说明】

输入样例中在”avilable”和”CLDC 1.0”中存在一个回车和制表符.则输出的相应位置替换成了\n\t.
同理,其它所有回车被替换成\n,所有制表符被替换成\t。

【参考答案】

#include<stdio.h>
int main()
{
    char t[50];
    char s[50];
    int j=0,i=0;
    for(;(t[j]=getchar())!=EOF && t[j]!='\0';)
    {
        switch (t[j])
        {
            case '\n':
                s[i] = '\\';
                i++;
                s[i] = 'n';
                break;
            case '\t':
                s[i] = '\\';
                i++;
                s[i] = 't';
                break;
            default:
                s[i] = t[j];
                break;
        }
        i++;
        j++;
    }
    printf("%s",s);

}
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容