C //练习 7-2 编写一个程序,以合理的方式打印任何输入。该程序至少能够根据用户的习惯以八进制或十六进制打印非图形字符,并截断长文本行。

发布时间:2024年01月17日

C程序设计语言 (第二版) 练习 7-2

练习 7-2 编写一个程序,以合理的方式打印任何输入。该程序至少能够根据用户的习惯以八进制或十六进制打印非图形字符,并截断长文本行。

注意:代码在win32控制台运行,在不同的IDE环境下,有部分可能需要变更。
IDE工具:Visual Studio 2010

?

代码块:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

#define MAXLINE 100
#define OCTLEN 6

int inc(int pos, int n){
    if(pos + n < MAXLINE){
        return pos + n;
	}
    else{
        putchar('\n');
        return n;
    }
}

int main(){
    int c, pos;

    pos = 0;

    while((c = getchar()) != EOF){
        if(iscntrl(c) || c == ' '){
            pos = inc(pos, OCTLEN);
            printf("\\%03o", c);
            if(c == '\n'){
                pos = 0;
			}
            putchar('\n');
        }
		else{
            pos = inc(pos, 1);
            putchar(c);
        }
	}
	
	system("pause");
    return 0;
}
文章来源:https://blog.csdn.net/navicheung/article/details/135645956
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。